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