我可以用单个类成员存储C#属性的值吗?
我有一个由以下两位成员组成的班级:我可以用单个类成员存储C#属性的值吗?,c#,asp.net,C#,Asp.net,我有一个由以下两位成员组成的班级: private _something; public something { get { return _something; } set { // ... Manipulate value ... _something = value; } } 我希望使用get{}和set{}而不引用单独的成员,但保留相同的功能。有这样做的机制吗?看起来您是在询问是否可以使用
private _something;
public something
{
get
{
return _something;
}
set
{
// ... Manipulate value ...
_something = value;
}
}
我希望使用
get{}
和set{}
而不引用单独的成员,但保留相同的功能。有这样做的机制吗?看起来您是在询问是否可以使用自动实现的属性,而您的setter方法中有一些逻辑。答案是否,您不能。您必须显式地提供支持字段
自动实现的属性也使用编译器创建的支持字段。因此必须有一些东西来存储值,因为属性只是
get
和set
方法的语法糖。您在这里到底想做什么?为什么不想将值存储在变量中呢?因为不清楚要做什么,所以需要添加更多的细节。您不需要引用单独的成员-例如,您可以获取{return true;}或执行其他计算。如果该值未存储在其他位置,您将如何操作该值?即使在声明public something{get;set;}时,编译器也会创建一个变量来存储值。经过一番思考:我想将属性something
作为一个对象,我可以为其赋值。使用这段代码,我想将访问器更改为get{returnthis.something;}
。我不想将此属性作为另一个变量分离,并使用稍微不同的名称。只是想看看C#是否有解决办法@嗯,你可以从get
返回你想要的任何东西。它只需要是正确的返回类型。