我需要在我的类型上实现一个只读属性。此外,这个属性的值将在构造函数中设置并且不会改变(我正在编写一个为WPF公开自定义路由UI命令的类,但这并不重要)。
我看到两种做法:
- ...
class MyClass
{
public readonly object MyProperty = new object();
}
class MyClass
{
private readonly object my_property = new object();
public object MyProperty { get { return my_property; } }
}
所有这些 FxCop 错误都说我不应该有公共成员变量,看起来第二个方法是正确的。这是正确的吗?
在这种情况下,只有属性和只读成员之间有什么区别吗?
get; readonly set;
选项。 - Dan Bryantget; private set;
。 - Marc.2377{get;}
的支持,这解决了这个问题。 - Dan Bryant