Delphi的泛型学习

function IIF<T>(Condition: Boolean; TrueValue: T;  FalseValue: T): T;
  begin   
    if Condition then   
      result := TrueValue   
    else
     result := FalseValue;
 end;
 

注:Delphi 2009\2010 支持泛型,其它版本不支持。

真的很方便!不过好像不能直接这样定义函数,只能定义在class/record/interface中,我写了个测试,可以这样来使用
type
 //Delphi IIF
 //注:Delphi 2009\2010 支持泛型,其它版本不支持。
   DelphiIIF=class
   public
     class function IIF<T>(Condition: Boolean; TrueValue: T;  FalseValue: T): T;
   end;
 
implementation

 class function DelphiIIF.IIF<T>(Condition: Boolean; TrueValue: T;  FalseValue: T): T;
begin
   if Condition then
    result := TrueValue
   else
     result := FalseValue;
end;

posted @ 2010-02-15 14:08  猪悟能  阅读(297)  评论(0编辑  收藏  举报