⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testgenericdelegates.obs

📁 格式化源码的最新板
💻 OBS
字号:
program testgenericdelegates;{$APPTYPE CONSOLE}uses sysutils;type tmammifere=class
procedure getnom;virtual;end;tchien=class(TMammifere)procedure getnom;override;end
;thandlermethod<t:tmammifere>=function:t of object;tmondelegue=thandlermethod<tmammifere
>;tmondelegue2=thandlermethod<tchien>;tclasse1=class function firsthandler:tmammifere
;function secondhandler:tchien;end;function tclasse1.firsthandler:tmammifere;begin
result:=tmammifere.create;end;function tclasse1.secondhandler:tchien;begin result
:=tchien.create;end;procedure tmammifere.getnom;begin writeln('TMammifere');end;procedure
tchien.getnom;begin inherited;writeln('TChien');end;var classe:tclasse1;handler1:
tmondelegue;handler2:tmondelegue2;hdl:system.delegate;resultat:tmammifere;begin classe
:=nil;try classe:=tclasse1.create;handler1:=@classe.firsthandler;resultat:=handler1
;resultat.getnom;handler1:=@classe.secondhandler as tmethod;resultat:=handler1;resultat
.getnom;hdl:=@classe.firsthandler;resultat:=(hdl as tmondelegue);resultat.getnom;
hdl:=@classe.secondhandler;except on e:exception do writeln(e.classname,': ',e.message
);end;readln;end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -