繁体   English   中英

在属性内为属性赋值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM