私有集合属性在类中设置的正确方法?c#
可能重复:私有集合属性在类中设置的正确方法?c#,c#,oop,class,properties,C#,Oop,Class,Properties,可能重复: 我还在学C。无论如何,我有一个简单的问题,但我不确定正常的方式做这件事。假设我在课堂上有以下内容 private int _questionNo; public int QuestionNo { get { return _questionNo; } private set { _questionNo = value;
我还在学C。无论如何,我有一个简单的问题,但我不确定正常的方式做这件事。假设我在课堂上有以下内容
private int _questionNo;
public int QuestionNo
{
get
{
return _questionNo;
}
private set
{
_questionNo = value;
PropChanged("QuestionNo");
}
}
如果我想在类本身中设置属性,我应该使用
_questionNo = number;
或
您应该始终使用公共getter setter,并且永远不要将私有支持字段从getter setter内部移开,当然,除非您不希望setter内部的事件发生
QuestionNo = number;
这样做的原因是,如果您需要更改Setter中希望发生的事情,您不必更改所有变量。您应该始终使用公共getter Setter,并且永远不要在getter Setter内部接触私有backing字段,当然,除非您不希望Setter中的事件发生
QuestionNo = number;
这样做的原因是,如果您需要更改Setter中希望发生的事情,则不必更改所有变量。您可能应该使用
QuestionNo
属性,除非出于某种原因您不希望PropChanged
触发您可能应该使用QuestionNo
属性,除非出于某种原因您不希望PropChanged
触发使用QuestionNo=number
属性。
我建议使用公共方法,您可以访问并指定属性,例如
public changemethod(int value)
{
this.QuestionNo = value;
}
public int QuestionNo { get; set; }
使用
QuestionNo=number
属性。
我建议使用公共方法,您可以访问并指定属性,例如
public changemethod(int value)
{
this.QuestionNo = value;
}
public int QuestionNo { get; set; }
如果可以直接访问setter,为什么要使用方法?如果可以直接访问setter,为什么要使用方法?