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();
}
是否可以通过反射检索字段和常量?如果是,请建议怎么做?还有更好的方法吗?
如果您希望字段可以从DoSomething
方法访问,但对外部类不可见,那么最简单的选择是使您的字段成为protected
。这样它们只能被子类访问,你几乎可以把protected
看作是"抽象类的私有"。
的区别当然是,你可以从其他程序集实现抽象类。要避免这种情况,可以将类设置为internal
。