【发布时间】:2015-11-03 07:45:38
【问题描述】:
public class SomeClass<TElement>
{
TElement _element;
public void SomeFunction()
{
_element.Property = someValue;
}
public TElement Element
{
get
{
return _element;
}
set
{
_element = value;
}
}
}
这基本上是我想做的。此类中的“TElement”将始终是从包含“Property”的类继承的类。我希望能够访问“Property”并对其进行修改,并且我希望“SomeClass”能够公开类型为“TElement”的属性。当我尝试这样做时,我无法访问属性,因为“TElement 不包含...的定义”。
如果我不使用“TElement”,但直接使用上述类,我不知道如何使“Element”属性根据实例显示为不同的类型。
我是不是走错路了?谁能指出我获得这种功能的正确方向? 谢谢
【问题讨论】:
-
因为当使用这个 calss 时,它永远不会是基类,如果我没记错的话,在这种情况下我必须对属性进行大量转换才能访问不在的属性基类。