我没有在现有问题中找到我的用例,所以我开始了。我有一个具有这样的泛型的抽象类:
public abstract class aParameter<T>
{
private T _parameter;
public T Parameter
{
get { return _parameter;}
}
...
}
然后我有这样的“类型”类:
public class IntParameter : aParameter<Int32>
{
public IntParameter(Int32 value)
{
_parameter = value;
}
}
public class TextParameter : aParameter<String>
{
public TextParameter(String value)
{
_parameter = value;
}
}
现在在我的应用程序代码中,我想用抽象泛型类创建一个字典,而不指定泛型类型。像这样 :
...
private Dictionary<Int32, aParameter> _paramDict = new Dictionary<Int32, aParameter>();
...
在以前的版本中,我使用接口而不是抽象类,aParameter
但我想将它迁移到抽象,以便我可以简化我的“类型”类,而不是为每个“类型”重复相同的代码。
这里有什么想法吗?
编辑
我忘了提到它将是一个库的一部分,该库旨在在公司之间分发,所以我真的需要保护允许的类型。我不能允许只是objects
被输入我的代码。