关于OverLoad。。。(50分)

  • 主题发起人 主题发起人 wab
  • 开始时间 开始时间
W

wab

Unregistered / Unconfirmed
GUEST, unregistred user!
在Delphi中,似乎方法签名只认名称和参数,不区别返回值的。
那这种情况怎么处理??
function getValue(Const Field :String):String;
function getValue(Const Field :String):TDateTime;
除了将其定义成。。。
procedure getValue(Const Field :String;Var Value:String);overload;
procedure getValue(Const Field :String;Var Value:TDateTime);overload;

 
好像也只能这样了!
 
>>Delphi中,似乎方法签名只认名称和参数,不区别返回值的。
当然了,不然如果你直接调用getValue它怎么知道是哪一个呢?
 
^_^
function getStringValue(Const Field :String):String;
function getDateTimeValue(Const Field :String):TDateTime;
 
To jinmen:
我要的是名称相同。。。
大侠们,再帮我想想办法吧。。。
 
没办法,用Variant作返回值类型吧.
 
放在两个单元中

a:=Unit1.getValue('a');
b:=Unit2.GetValue('b');
 
To Xeen:

function getValue(Const Field :String):String;
function getValue(Const Field :String):TDateTime;
这两个方法中的代码是不一样的。。。
 
那就没办法了,如果这也能行。
delphi 就不用在 TField类上定义 AsInteger,AsString,AsBoolean这么多函数了.
 
既然你知道重载是参数不同。又何必钻牛角尖呢?
 
没结果,算了,散分吧
 
后退
顶部