吴义法

导航

Base class does not contain a constructor that takes '0' argument

The Problem is :

class BaseClass
{
public BaseClass(string s1, string s2)
{
this.S1 = s1;
this.S2 = s2;
}
public string S1 { get; set;}
public string S2 { get; set;}
}

class SubClass: BaseClass
{
public SubClass(int int1, int int2)
{
this.Int1 = int1;
this.Int2 = int2;
}
public int Int1 { get; set; }
public int Int2 { get; set; }
}

VS2008 intellisense underlines the constructor of SubClass and says:
Error 1 'ConsoleApplication1.BaseClass' does not contain a constructor
that takes '0' arguments.

--------------------------------------------------------------------------

So, to solve this error, you can either add a default constructor to
BaseClass or do something like this

class SubClass : BaseClass
{
public SubClass(int int1, int int2):base("","")
{
this.Int1 = int1;
this.Int2 = int2;
}
public int Int1 { get; set; }
public int Int2 { get; set; }
}

 

or

class SubClass : BaseClass
{
public SubClass(int int1, int int2):base(int1,int2)
{
this.Int1 = int1;
this.Int2 = int2;
}
public int Int1 { get; set; }
public int Int2 { get; set; }
}

 

 

Reference:

1
http://bytes.com/topic/c-sharp/answers/851915-base-class-does-not-contain-constructor-takes-0-argument
2
http://objectmix.com/csharp/783529-base-class-does-not-contain-constructor-takes-0-argument.html

posted on 2010-04-18 00:16  吴义法  阅读(637)  评论(0编辑  收藏  举报