我可以有一个抽象的基类,其key属性是通用的

时间:2010-05-10 20:58:02

标签: c# .net generics abstract-class

我想创建一个可重用的库。我打算使用扩展方法但是在某些情况下遇到一些问题,客户端必须在调用方法中指定类型。

问题 - 如果我使用抽象基类作为基础,我可以在类中指定属性/属性是通用的(例如,键属性在一种情况下可能是'int',或者在'另一个)?

2 个答案:

答案 0 :(得分:3)

public abstract class MyBase<T>
{
    public abstract T GetSomething();
}

public class MyConcreteType : MyBase<int>
{
    public override int GetSomething()
    {
         return 3;
    }
}

或者,你到底是什么意思? (尝试一下会更快地给你答案,然后把它发布在SO上,我想......)

答案 1 :(得分:1)

是的,您可以执行以下操作:

public abstract class Class<T> 
{
    T value;
    T Prop { get; set;} 
}