Joh*_*ica 6 delphi generics anonymous-methods
在Chris的博客上:http://delphihaven.wordpress.com/2011/07/14/weird-in-more-ways-than-one/
我找到了以下代码
type
TLinkVisitor<T> = reference to procedure(const Item: T);
TDoubleLinked<T> = record
Prev: ^TDoubleLinked<T>;
Next: ^TDoubleLinked<T>;
Value: T;
class function Create(const aValue: T): Pointer; static;
function Add(const aValue: T): Pointer;
procedure Delete;
procedure DeleteAll;
function First: Pointer;
function Last: Pointer;
procedure ForEach(const Proc: TLinkVisitor<T>);
end;
Run Code Online (Sandbox Code Playgroud)
"引用"关键字解决了哪些问题无法通过正常的程序类型完成?
Dav*_*nan 11
通过一个reference程序,您可以使用:
它是使用匿名方法的能力,这些方法将reference程序与所有其他过程类型区分开来.除了其他程序或方法类型之外,匿名方法的设置是变量捕获.
有关更详细的讨论,请参考以下答案:对象和引用之间有什么区别?.匿名方法的官方文档也值得一读.