当我写一个类时,我总是通过这样的公共属性公开私有字段:
private int _MyField; public int MyField { get{return _MyField; }
什么时候可以公开这样的公共字段:
public int MyField;
我正在创建一个名为Result的结构,我的意图是这样做:
public Result(bool result, string message) { Result = result; Message = message; } public readonly int Result; public readonly int Message;
什么是最佳做法?这样做好吗?
当它们是(静态)常量时,我只暴露公共字段 - 即便如此,我通常也会使用属性.
"常量"是指任何只读,不可变的值,而不仅仅是可以在C#中表示为"const"的值.
甚至readonly 实例变量(如Result和Message)也应该封装在我视图的属性中.
有关详细信息,请参阅此文章.
使用公共字段的最佳做法是什么?
"不要."另请参阅: 是否应始终禁止受保护的属性?这涉及到受保护的领域,但对于公共领域来说更是如此.
使用属性.现在C#有自动属性很容易!