【发布时间】:2010-09-25 13:29:33
【问题描述】:
class MyBase
{
protected object PropertyOfBase { get; set; }
}
class MyType : MyBase
{
void MyMethod(MyBase parameter)
{
// I am looking for:
object p = parameter.PropertyOfBase; // error CS1540: Cannot access protected member 'MyBase.PropertyOfBase' via a qualifier of type 'MyBase'; the qualifier must be of type 'MyType' (or derived from it)
}
}
有没有办法从扩展类型中获取类型参数的受保护属性而无需反射?由于扩展类通过其基类型知道该属性,因此如果可能的话,这将是有意义的。
【问题讨论】:
-
公开而不是保护。
-
如果我不希望它可以从与 PropertyOfBase 无关的其他类访问怎么办?