我有一个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];
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在的一个问题是我有不同的DataElement类型,它们都是从DataElement派生的,比如DataElementSQ,DataElementOB等.我现在想要做的是使C#中的写入更容易:
public T this<T>[int DataElementTag] where T : DataElement
{
get
{
return myElements[int];
}
}
Run Code Online (Sandbox Code Playgroud)
但这实际上是不可能的.有没有我错过的东西?当然我可以用Getter方法做到这一点,但以这种方式使用它会更好.