现在的位置: 首页 > 综合 > 正文

Delphi的泛型学习

2013年06月28日 ⁄ 综合 ⁄ 共 599字 ⁄ 字号 评论关闭

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;

抱歉!评论已关闭.