我们使用 DevExpress,随着今天的发布,他们的一个打印类发生了奇怪的变化。
该类名为 ClosedShapeBase,用于在报表中打印出形状。
该类本身是公共(public)的,但它的一些属性是 protected 内部抽象,如
public abstract class ClosedShapeBase : ShapeBase
{
protected internal abstract PointF[] CreatePoints(RectangleF bounds, int angle);
}
是否有任何神秘的方法可以覆盖该成员,即使它是内部成员?
最佳答案
“protected internal”只是指DevExpress自己项目中的代码可以访问它。对于该项目之外的所有目的(除了 AssemblyInfo 中的一些魔法),它就好像它只是“ protected ”一样。 DevEx 无处不在。
您不需要在自己的覆盖中维护“内部”:
public class Foo
: ClosedShapeBase
{
protected override ShapeBase CloneShape()
{
throw new NotImplementedException();
}
protected override PointF[] CreatePoints(RectangleF bounds, int angle)
{
throw new NotImplementedException();
}
protected override ILinesAdjuster GetLinesAdjuster()
{
throw new NotImplementedException();
}
}
关于c# - 具有内部抽象成员的公共(public)类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1329143/