我想创建一个可重用的库。我打算使用扩展方法但是在某些情况下遇到一些问题,客户端必须在调用方法中指定类型。
问题 - 如果我使用抽象基类作为基础,我可以在类中指定属性/属性是通用的(例如,键属性在一种情况下可能是'int',或者在'另一个)?
答案 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;}
}