得到&设置属性

时间:2011-11-16 21:13:34

标签: c# properties

我的代码发布在下面,设置和获取方法有问题。我想称之为this.LastError.Set(1);

但它给了我这个错误:'int'不包含'Set'的定义,也没有扩展方法'Set'接受类型'int'的第一个参数可以找到(你是否错过了使用指令或程序集引用?)

public class MyClass
    {
        private int ERROR_NUM = 0;
        public int LastError
        {
            get { return ERROR_NUM; }
            set { ERROR_NUM = value; }
        }

        bool IsLoaded()
        {
            int count = Process.GetProcessesByName("AppName").Length;
            if (count == 1) return true;
            if (count > 1) this.LastError.Set(1);
            return false;
        }
    }

我知道这可能是一个愚蠢的问题,很抱歉,我已经和这个事情争了几个小时了,我甚至试图给LastError提供自己的类。这是我在C#上的第一天。

9 个答案:

答案 0 :(得分:6)

设置它。

this.LastError = 1;

答案 1 :(得分:2)

就这样做..

 this.LastError = 1; 

答案 2 :(得分:2)

属性的重点在于它们看起来像字段,你可以像字段一样设置它们:

this.LastError = 1; // set the value
int lastError = this.LastError; // get the value

该属性编译为两个方法set_LastError()get_LastError()。你不能在C#中使用它们,但编译器可以将上面的代码编译成类似的东西:

this.set_LastError(1);
int lastError = this.get_LastError();

答案 3 :(得分:1)

要在C#中设置属性,只需使用“=”运算符。

this.LastError = <myvalue>;

答案 4 :(得分:1)

您不需要这样做。只需像这样设置

this.LastError = 1;

这就是全部

答案 5 :(得分:0)

要使用您实际上不会引用get和set成员的属性,您只需直接使用该属性:

this.LastError = 1;

int lastErrorNum = this.LastError;

根据您是获得还是设置属性,将使用相应的get或set部分。

答案 6 :(得分:0)

在C#中你会这样设置:

this.LastError = 1;

答案 7 :(得分:0)

属性的概念就像他们是你班上的领域一样。意思是你得到并设置它们就像你正常的变量Property = X; var x = Property

答案 8 :(得分:0)

您正在使用房产。属性封装了Get和Set方法。您不要调用Set方法,而是直接将值设置为属性。

this.LastError = 1; 

对象内部将调用Set方法。属性就像是类的字段和方法之间的混合:它看起来像一个字段,但实际上它会触发一个方法。代码更简单,更容易阅读属性。也许你已经习惯了其他没有属性概念的Java语言,迫使你明确地调用Get和Set方法。