C#"非静态字段,方法或属性需要对象引用"

Dav*_*wer 5 .net c#

我遇到了同样的问题,上周我只是从父类来看:

public ExtendedTime(int Hour, int Minute, String TimeZone) :base(hour, minute)
{

    timeZone = TimeZone;
}//end of ExtendedTime
Run Code Online (Sandbox Code Playgroud)

:base(hour,minute)是我有这个错误的地方.小时和分钟都表示同样的问题.现在通常我会说,我错过了一些东西,但我尝试了这一点,并没有做任何好的遗憾.
在父类中,小时和分钟声明如下:

    internal int hour;
    internal int minute;
Run Code Online (Sandbox Code Playgroud)

我有安装和吸气设置.

Jon*_*eet 17

您正在尝试使用这些字段 hour,minute当您可能想要使用构造函数参数时.调用基类构造函数时,不能使用字段(或任何其他实例成员).

我个人更改构造函数参数以获得更多的常规名称:

public ExtendedTime(int hour, int minute, String timeZone) : base(hour, minute)
{    
    this.timeZone = timeZone;
}
Run Code Online (Sandbox Code Playgroud)

请注意,如果您将字段设为私有而非内部,则问题会更明显,因为您无法访问第一个字段:)