既存の質問でユースケースが見つからなかったので、ここに進みます。私はこのようなジェネリックスを持つ抽象クラスを持っています:
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
フィードされることを許可することはできません。