我目前正在开发一个WPF项目,我的大部分属性都有两个选项可以在内部分配值:
private int counter = 0;
public int Counter {
get {
return counter;
}
private set {
counter = value;
}
}
通过私人设定者进行分配 Counter = 1;
将值直接分配给私有对象 counter = 1;
在内部(在类本身中)分配值的首选方法是什么?使用一个在另一个上有什么好处吗?
答案 0 :(得分:6)
我会使用该属性。如果您发现以后必须更改属性行为,它将为您提供更大的灵活性 - 您将无法使用字段执行此操作。
顺便说一句。你为什么不使用自动财产?
public int Counter { get; private set; }
您不必使用0
初始化字段。它是int
的默认值,因此无论如何都会完成。
答案 1 :(得分:0)
如果需要私有集变量,最好在构造函数中注入属性,以便将对象初始化为正确的状态。但是如果您在方法中构造后分配私有变量,则可以直接设置变量:
counter++;