相关疑难解决方法(0)

为什么我们不能在派生类中使用带参数的构造函数

为什么这不可能?在使用constructor-parameter实例化"DerivedClass"时,我得到以下编译器错误:

'GenericParameterizedConstructor.DerivedClass'不包含带有1个参数的构造函数

但是调用一个非常相似的方法可行.

为什么?

class Program
{
    static void Main(string[] args)
    {
        // This one produces a compile error 
        // DerivedClass cls = new DerivedClass("Some value");

        // This one works;
        DerivedClass cls2 = new DerivedClass();
        cls2.SomeMethod("Some value");
    }
}


public class BaseClass<T>
{
    internal T Value;

    public BaseClass()
    {
    }

    public BaseClass(T value)
    {
        this.Value = value;
    }

    public void SomeMethod(T value)
    {
        this.Value = value;
    }
}

public class DerivedClass : BaseClass<String>
{
}
Run Code Online (Sandbox Code Playgroud)

c# generics parameters constructor derived-class

1
推荐指数
1
解决办法
636
查看次数

标签 统计

c# ×1

constructor ×1

derived-class ×1

generics ×1

parameters ×1