C#访问抽象类的字段

时间:2014-03-13 21:46:50

标签: c# reflection

是否可以访问抽象类的字段和/或常量? 假设我有代码:

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();
}

是否可以通过反射检索字段和常量?如果有,你能建议怎么做?而且,有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

如果您希望可以从DoSomething方法访问这些字段,但外部类不可见,最简单的选择是创建字段protected。这样它们只能被子类访问,你几乎可以认为protected是“私有的抽象类”。

然而,差异当然是您可以从其他程序集实现抽象类。为避免这种情况,您可以制作课程internal