c# - 具有内部抽象成员的公共(public)类

标签 c# abstract-class devexpress

我们使用 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/

相关文章:

.net - 如何在 devexpress 中使用掩码将百分比限制为 100?

winforms - 如何在 NavBarGroup 中获得 CheckEdit

css - 渐变色在 IE 9 中不显示

c# - 试图从 null 一对一属性 : ContentItemRecord - Orchard CMS 分配 id

c# - 使用同一个数据库为多个 DbContext 创建表

c# - 为什么在我的代码中将 json 值转换为字符串

c# 多个计时器编辑同一个列表

c++ - C++中可以不用纯虚函数实现抽象类吗?

Java抽象类来实例化其他类

c++ - 无法将字段 'pair' 声明为抽象类型 'System'