我希望引用计数应该在接口实现中的外部聚合对象上工作.如果我可以参考另一个例子:实现多个接口的类中的清晰度(替代委托):
这是行为的最小再现:
program SO16210993;
{$APPTYPE CONSOLE}
type
IFoo = interface
procedure Foo;
end;
TFooImpl = class(TInterfacedObject, IFoo)
procedure Foo;
end;
TContainer = class(TInterfacedObject, IFoo)
private
FFoo: IFoo;
public
constructor Create;
destructor Destroy; override;
property Foo: IFoo read FFoo implements IFoo;
end;
procedure TFooImpl.Foo;
begin
Writeln('TFooImpl.Foo called');
end;
constructor TContainer.Create;
begin
inherited;
FFoo := TFooImpl.Create;
end;
destructor TContainer.Destroy;
begin
Writeln('TContainer.Destroy called');//this line never runs
inherited;
end;
procedure Main;
var
Foo : IFoo;
begin
Foo := TContainer.Create;
Foo.Foo;
end;
begin
Main; …Run Code Online (Sandbox Code Playgroud) Darts目前生成复杂的JavaScript代码.我认为这是一个主要的缺点,我实际上更喜欢使用TypeScript方法解决问题.
我想知道是否有人知道Dart的战略计划.Dart会在未来生成 - 有些 - 可以理解的javascript吗?