将类型从派生类传递给基类

时间:2014-07-20 15:08:17

标签: c# generics inheritance

假设我有一些通用类foo

public class foo<SomeType>
{
    public SomeType x;
    public foo () {  

    }
}

来自bar

的课程foo
public class bar : foo <SomeType>
{
    public bar
    {

    }
}

我想做的是在创建bar对象时将SomeType传递给基类。我该怎么做呢?

澄清:作为一个例子,我想要做的是创建一个bar类型的对象,并告诉它foo中变量x的类型是一个整数。我想要传递的不是SomeType的实例,而是SomeType实际上是什么(int,string等)。

3 个答案:

答案 0 :(得分:2)

如果你想使条形码通用,你需要添加一个类型参数:

public class bar<T> : foo<T>
{
    public bar() { ... }
}

答案 1 :(得分:1)

您是否正在寻找此构造,这表明Bar

还明确了<SomeType>?的参数化
public class bar<SomeType> : foo <SomeType>
{
    public bar()
    {
         // Code here
    }
}

答案 2 :(得分:1)

按如下方式声明bar

public class bar<SomeType> : foo <SomeType>

然后以这种方式实例化:

new bar<X>();