Может У меня есть общее свойство this []?

У меня есть словарь DICOM, который содержит набор объектов, все производные от DataElement. Словарь имеет ключ int и свойство DataElement. Мой словарь DICOM содержит свойство this [], в котором я могу получить доступ к DataElement, например:

public class DicomDictionary
{
  Dictionary<int, DataElement> myElements = new Dictionary<int, DataElement>();
  .
  .
  public DataElement this[int DataElementTag]
  {
    get
    {
      return myElements[int];
    }
  }
}

Проблема в том, что у меня есть разные типы DataElement, все производные от DataElement, такие как DataElementSQ, DataElementOB и так далее. Сейчас я хотел сделать следующее, чтобы немного упростить написание на C #:

 public T this<T>[int DataElementTag] where T : DataElement
 {
   get
   {
      return myElements[int];
   }
 }

Но на самом деле это невозможно. Я что-то упустил? Конечно, я мог бы сделать это с помощью метода Getter, но было бы намного лучше, если бы это было так.

7
задан msedi 12 August 2011 в 16:09
поделиться