我有一个接口。
有没有可能在不声明类的情况下创建此接口的实例?像这样(想象中的)代码,它将执行与上面相同的操作:
type IProgressObserver = interface(IInterface)
procedure ReportProgress(Progress:Integer);
procedure ReportError(Message:string);
end;
我已经使用命名类实现了接口,如下所示:
type TProgressObserver=class(TInterfacedObject, IProgressObserver)
procedure ReportProgress(Progress:Integer);
procedure ReportError(Message:string);
end;
... implementation of methods go here .....
addProgressObserver(TProgressObserver.Create);
有没有可能在不声明类的情况下创建此接口的实例?像这样(想象中的)代码,它将执行与上面相同的操作:
addProgressObserver(IProgressObserver.Create()
begin
procedure ReportProgress(Progress:Integer)
begin
ShowMessage('Progress Observed!');
end
procedure ReportError(Message:string)
begin
Log(Message);
end
end;);
Delphi有匿名过程,但是否有匿名类?
我发现了这个类似的问题,但它是关于Java的。
我正在使用Delphi 2010。
TDelegatedComparer<T>
中也是这样做的,我相信还有其他的例子。 - Cosmin PrundTDelegatedComparer<T>
的示例:我真的讨厌预泛型TList.Sort()
调用所需的全局函数! - Cosmin Prund