如果我有一个由第三方实现的现有IInterface
后代,并且我想添加帮助例程,那么Delphi是否提供了任何简单的方法来实现此操作,而无需手动重定向每个接口方法?也就是说,给定一个这样的接口:接口帮助程序或委托接口父项
IFoo = interface
procedure Foo1;
procedure Foo2;
...
procedure FooN;
end;
是否有类似于以下内容的支持?
IFooHelper = interface helper for IFoo
procedure Bar;
end;
或
IFooBar = interface(IFoo)
procedure Bar;
end;
TFooBar = class(TInterfacedObject, IFoo, IFooBar)
private
FFoo: IFoo;
public
procedure Bar;
property Foo: IFoo read FFoo implements IFoo;
end;
我特别想知道的方式,让我始终调用Foo1和Foo2,并用单变量引用(的IFoo,IFooBar,或TFooBar)吧,不在它们之间切换,并且不需要将所有IFoo的方法添加到TFooBar中。
“类VS接口”和缺少“阅读FFoo”是错别字。即使纠正它们,该示例也不起作用。如果我有TFooBar的引用,我不能调用“FooBar.Foo1”;它被认为是未公开的。 – 2010-04-20 23:07:08
我相信你需要在IFooBar中重新声明IFoo的程序,如果你想使用IFooBar并让它们暴露。 – skamradt 2010-04-20 23:15:17
Skamradt是对的。 Delphi中没有“Interface Helper”。如果有的话,这将是很好的。尝试在QC中添加它。 – 2010-04-20 23:48:37