是否可以访问抽象类的字段和/或常量? 假设我有代码:
public abstract class A
{
private int A;
private int B;
public const int months = 12;
public int AProp
{
get{ return A; }
set{ A = value; }
}
public abstract void DoSomething();
}
是否可以通过反射检索字段和常量?如果有,你能建议怎么做?而且,有更好的方法吗?
答案 0 :(得分:0)
如果您希望可以从DoSomething
方法访问这些字段,但外部类不可见,最简单的选择是创建字段protected
。这样它们只能被子类访问,你几乎可以认为protected
是“私有的抽象类”。
然而,差异当然是您可以从其他程序集实现抽象类。为避免这种情况,您可以制作课程internal
。