我有内部属性的类:
internal virtual StateEnum EnrolmentState
{
get { ..getter logic }
set { ..setter logic }
}
但是我希望能够在程序集之外访问此属性,因此我创建了仅返回此属性的方法:
public StateEnum GetCurrentState()
{
return EnrolmentState;
}
但是当我从这个程序集之外的类中调用这个方法时,我得到了一个异常
(System.TypeLoadException: Method 'get_EnrolmentState' on type 'EnrolmentAopProxy' from assembly '44fe776f-458e-4c5d-aa35-08c55501dd43, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' is overriding a method that is not visible from that assembly.)
所以可以以任何方式访问程序集之外的内部成员,或者我应该考虑一种不同的方法。
顺便提一下,这个类被用作 O/R 映射器实体 (NPersist),它被 O/R 映射器覆盖以注入持久性代码。