c#访问抽象类的字段

本文关键字:字段 抽象类 访问 | 更新日期: 2023-09-27 17:50:14

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

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

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

c#访问抽象类的字段

如果您希望字段可以从DoSomething方法访问,但对外部类不可见,那么最简单的选择是使您的字段成为protected。这样它们只能被子类访问,你几乎可以把protected看作是"抽象类的私有"。

的区别当然是,你可以从其他程序集实现抽象类。要避免这种情况,可以将类设置为internal