Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以用单个类成员存储C#属性的值吗?_C#_Asp.net - Fatal编程技术网

我可以用单个类成员存储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
返回你想要的任何东西。它只需要是正确的返回类型。