我们可以在方法之外的派生类中使用属性吗?
本文关键字:属性 派生 方法 我们 | 更新日期: 2023-09-27 18:02:12
获取错误'ClassLibrary3.Class1 '。A '是一个'属性',但当我想访问基类的属性时,它像'类型'一样使用。
namespace ClassLibrary3
{
public class Class1
{
public int a { get; set; }
public int A { get; set; }
}
public class test : Class1
{
a=1; // error 'ClassLibrary3.Class1.a' is a 'property' but is used like a 'type'
public void hello()
{
a = 10;
}
}
}
是;这很正常。除字段初始化器外,代码必须在方法中。这不是一个字段初始化式。
要么在派生构造函数中赋值a=1;
,要么创建重载构造函数并将1
传递给基类型的构造函数。
:
public test() {
a = 1;
}
或:
protected Class1(int a) {
this.a = a;
}
...
public test() : base(1)
{}
错误是因为a=1
不在方法体中。
如果您希望在创建测试对象时a等于1,那么您应该将a=1放入测试类的构造函数中。