[英]Assign property a value inside a class
我有一个非常简单的问题。 为什么不能在属性之外为属性赋值,如下所示? 在方法内部和方法外部进行区别是什么?
请看下面:
编辑:
以下是我试图做的事情,因此上面的问题。
类根范围内的任何内容都只是类定义的一部分。 类定义定义了对象具有哪些属性,可以在其上调用哪些方法,构造对象的方法等。
在这里提出一个实际的陈述没有任何意义; 什么时候会跑? 代码的实际执行不是类定义的一部分。
因此,所有语句都必须驻留在方法中,因为方法是实际执行语句的唯一方法。
您可以在创建类时执行代码。 为此使用构造函数。 它看起来像一个方法,但没有返回类型,其名称与类名相同:
public class SubClass : BaseClass
{
public SubClass()
{
Build = "Hello"; // Build must be either public or protected in the base class.
// SubClass inherits Build, therfore no "base." is required.
}
// Other methods to go here
}
如果基类具有带参数的构造函数,则必须传递基类的构造函数:
public class BaseClass
{
public BaseClass(string build)
{
Build = build;
}
public string Build { get; private set; }
}
public class SubClass : BaseClass
{
public SubClass()
: base("Hello") // Calls the base class' constructor with "Hello"
{
}
}
现在你可以打电话:
var baseClass = new BaseClass("Hello");
// or
var subClass = new SubClass();
两者都为Build
分配"Hello"
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.