我有一个DICOM字典,其中包含一组对象,这些对象都是从DataElement派生的。字典有一个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类型,都是从DataElement派生出来的,比如DataElementSQ、DataElementOB等等。我现在想做的是以下几点,让用C#编写代码更容易一些:
public T this<T>[int DataElementTag] where T : DataElement
{
get
{
return myElements[int];
}
}但这是不可能的。我是不是漏掉了什么?当然,我也可以使用Getter方法,但这样做会更好。
发布于 2011-08-13 00:11:06
为什么不使用真正的泛型方法GetDataElement<T> where T : DataElement呢?C#中不支持通用索引器。为什么你认为在这种情况下,索引器比方法更好?
https://stackoverflow.com/questions/7043028
复制相似问题