【发布时间】:2012-07-25 13:56:28
【问题描述】:
在 C# 中为没有设置器的属性初始化对象的最佳方法是什么?
例如,我有 UserData 类型的属性,我可以对其进行初始化:
- 在构造函数中
-
在吸气剂中
private UserData _user; public UserData User { get { return _user?? (_user= new UserData ()); } } -
初始化字段:
private UserData _user = new UserData()
我发现了几个类似的线程:
Create an object in the constructor or at top of the class
C# member variable initialization; best practice?
但这是第一个和第三个选项之间的考虑 - 没有人考虑第二个选项 - 你知道吗?一段时间以来,获取对象是我的首选,但我想知道是否有一些我不知道的缺点。
你能告诉我什么是最好的选择吗?第二个选择可以解决什么问题?
【问题讨论】:
-
我会假设第二个选项不是线程安全的。
标签: c# .net properties