Ple*_*rds -1 delphi delphi-xe3
考虑这个例子:
Memo1.Clear;
Memo1.Add(S);
Memo1.SaveToFile(F);
Run Code Online (Sandbox Code Playgroud)
如果它是在JavaScript中,我们可以这样做:
Memo1.Clear.Add(S).SaveToFile(F);
Run Code Online (Sandbox Code Playgroud)
我怎样才能编写自己的Delphi类来支持这样的链接方法调用?我希望能够编写这样的代码:
MyFileClass.Create('File.txt').OpenForWrite().Add('Test');
Run Code Online (Sandbox Code Playgroud)
Dav*_*nan 11
如果您愿意,您可以轻松设计自己的课程以支持流畅的风格.
type
TMyClass = class
public
function Foo: TMyClass;
function Bar: TMyClass;
end;
procedure TMyClass.Foo: TMyClass;
begin
// do something
Result := Self;
end;
var
obj: TMyClass;
....
obj.Foo.Bar;
Run Code Online (Sandbox Code Playgroud)
对于许多类型,流畅的风格是不合适的,所以不要觉得你必须到处使用它.但是,对于某些类型,它可以很有道理.