我的代码发布在下面,设置和获取方法有问题。我想称之为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#上的第一天。
答案 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方法。