标签:ar for sp on c r bs type as
C# 中子类要重用父类的构造函数时, 通常会在子类构造函数后面调用 : base(paratype, para).
假设父类有一个参数个数为1的构造函数, 没有 0 参构造函数。 子类想要重用这个构造函数, 如果没有写 :base(paratype, para), 就会有这个错误。
因为如果没写, VS 会认为子类是继承父类的 0 参构造函数, 但是由于父类并没有定义 0 参构造函数, 所以就会报错。
另外, 可以在base()中调用一个静态方法来修改子类构造函数的参数在传递给父类构造函数。 如:
class ParentClass { public ParentClass(string Name) {} } class ChildClass { public ChildClass(string firstName, string familyName):base(CombineName(firstName, familyName) {} static string ConbineName(string firstName, string familyName) {return string.Format("{0},{1}", firstName, familyName); }
C# does not contain a constructor that takes no parameter
标签:ar for sp on c r bs type as
原文地址:http://blog.csdn.net/changtianshuiyue/article/details/39373915