回 帖 发 新 帖 刷新版面

主题:继承方面的问题

using System;

namespace sbdx
{
class FatherClass
{
  private int x;
  public FatherClass(int x)
  {
   this.x=x;
   Console.WriteLine("构造 FatherClass():{0}",x);
  }
}
class SunClass:FatherClass
{
  public int x=2;
  public SunClass():[color=FF0000]base(x)[/color]
  {
           Console.WriteLine("构造 SunClass():{0}",x);
  }
  static void Main(string[] args)
  {
     SunClass tmp=new SunClass();
  }
}



Microsoft (R) Visual C# .NET 编译器版本 7.10.3052.4
用于 Microsoft (R) .NET Framework 版本 1.1.4322
版权所有 (C) Microsoft Corporation 2001-2002。保留所有权利。

Welcome.cs(17,26): error CS0120: 非静态的字段、方法或属性“sbdx.SunClass.x”要求对象引用


红色部分有点问题,那位给解释一下,如何才能实现。谢谢。

回复列表 (共2个回复)

沙发

base(x)会先于自身的构造函数执行,所以不能使用x的值。

用静态变量或者常量。

板凳

谢谢,非常感谢

我来回复

您尚未登录,请登录后再回复。点此登录或注册