delphi – 如何使用类帮助程序来访问类的严格私有成员?

delphi – 如何使用类帮助程序来访问类的严格私有成员?,第1张

概述这是一个后续问题: How to hide a protected procedure of an object? (我对整个类帮助器概念有点模糊) 假设我有一个类: type TShy = class(TObject) strict private procedure TopSecret;private procedure DirtyLaundry; protected 这是一个后续问题: How to hide a protected procedure of an object?
(我对整个类帮助器概念有点模糊)

假设我有一个类:

type TShy = class(TObject) strict private  procedure topSecret;private  procedure DirtyLaundry;  protected   procedure Resistanttochange;end;

我知道我可以访问私有方法,如果我有源代码通过在同一单元中添加一个派生类。

我有2个问题:
– 如何使用类助手访问严格的私有成员
– 我可以在单独的单元中使用类辅助程序来访问(严格)私有成员吗?

解决方法 直到,包括Delphi 10.0 Seattle,你可以使用类助手来访问严格的受保护和严格的私有成员,像这样:
unit Shy;interfacetype  TShy = class(TObject)  strict private    procedure topSecret;  private    procedure DirtyLaundry;  protected    procedure Resistanttochange;  end;
unit NotShy;interfaceuses  Shy;type  TNotShy = class helper for TShy  public    procedure LetMeIn;  end;implementationprocedure TNotShy.LetMeIn;begin  Self.topSecret;  Self.DirtyLaundry;  Self.Resistanttochange;end;end.
uses  ...,Shy,NotShy;procedure TestShy;var  Shy: TShy;begin  Shy := TShy.Create;  Shy.LetMeIn;  Shy.Free;end;

然而,从德尔福10.1柏林开始,这不再工作!类助手不能再访问严格受保护的,严格的私人或私人成员。这个“功能”实际上是Embarcadero现在在柏林修复的一个编译器错误。你失去了运气。

总结

以上是内存溢出为你收集整理的delphi – 如何使用类帮助程序来访问类的严格私有成员?全部内容,希望文章能够帮你解决delphi – 如何使用类帮助程序来访问类的严格私有成员?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1281823.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存