delphi - 如何从具有 protected 数据类型的类继承?

标签 delphi inheritance protected

我有一个带有内部 protected 类的基本泛型类。如何从基类继承并访问 protected 内部类?

作为示例,此代码将无法编译:

unit uFoo;

interface

type

  TFoo<T> = class
  protected
    type
      TFooProtected = class

      end;
  end;

  TFoo2<T> = class(TFoo<T>)
  protected
    item: TFooProtected;
  end;

最佳答案

像这样:

type
  TFoo<T> = class
  protected
    type
      TFooProtected = class
      end;
  end;

  TFoo2<T> = class(TFoo<T>)
  protected
    item: TFoo<T>.TFooProtected;
  end;

请注意,这与泛型无关。它对于内部声明类型的任何类都有效。

关于delphi - 如何从具有 protected 数据类型的类继承?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37901285/

相关文章:

delphi - 是否有可用于 Delphi 的备用 XML 模式导入器?

delphi - DelphiWebScript 中值的运行时评估

Delphi日期比较

C++ 函数指针参数和类继承自动转换

java - 为什么java抽象类中需要Protected构造函数

arrays - 在 Delphi 中声明可变长度数组

c++ - 同名类的构造函数继承

java - 为什么我可以用公共(public)方法覆盖 protected 方法?

java - Java 中的 public、protected、package-private 和 private 有什么区别?

C++特殊方法可见性