私はすべてDataElementから派生したオブジェクトのセットを含むDICOM辞書を持っています。 辞書はキーとしてintを持ち、プロパティとしてDataElementを持っています。 私のDICOMの辞書が含まれている私はこのように、定義するDataElementにアクセスすることができ、この[]プロパティ:今汎用[this]プロパティを持つことはできますか?
public class DicomDictionary
{
Dictionary<int, DataElement> myElements = new Dictionary<int, DataElement>();
.
.
public DataElement this[int DataElementTag]
{
get
{
return myElements[int];
}
}
}
問題は、私は別の定義するDataElementタイプがすべてのようにDataElementSQ、DataElementOBと同様に、定義するDataElementから派生しているということです。私が今したいことは、C#で書くのが少し簡単になるようにするためです:
public T this<T>[int DataElementTag] where T : DataElement
{
get
{
return myElements[int];
}
}
これは実際には不可能です。私が見逃したことはありますか?もちろん、私はゲッターメソッドでそれを行うことができますが、それをこのようにする方がはるかに良いでしょう。
一般的なプロパティ(インデクサを含む) http://stackoverflow.com/questions/494827/why-it-is-not-posible-to-define-generic-indexers-in-net –
あなたが信じているかどうかに関係なく、あなたがしていることは混乱しますイモを使い、読む。 – Marc