尝试调用具有 out 参数的函数时出现问题
本文关键字:函数 问题 参数 调用 out | 更新日期: 2023-09-27 18:31:37
我有一个这样的函数:
example(long a,long b,string c,DateTime d,DateTime e,out decimal f)
当我尝试调用它时,我正在这样做:
long a =1;
long b=2;
string c="";
DateTime d=DateTime.Now;
DateTime e=DateTime.Now;
decimal f=0;
example(a,b,c,d,e,f) --> Here is giving me the error : the best overloaded method has some invalid argument
你能帮我解决这个问题吗
你需要
打电话给example(a,b,c,d,e, out f);
并且不需要初始化f
,最好不要这样做(这是误导性的):
//decimal f=0;
decimal f;
由于d
是一个out
参数,因此您需要out
关键字(在C#中):
example(a, b, c, d, e, out f)
您还需要在方法调用中使用 out
关键字:
example(a, b, c, d, e, out f);
另请参阅:out 参数修饰符(C# 参考)
当你调用你的方法时,你也应该使用out
关键字;
example(a,b,c,d,e, out f);
从MSDN
;
out 关键字会导致通过引用传递参数。这是 与 ref 关键字一样,除了 ref 要求变量 在传递之前初始化。要使用 out 参数,两个 方法定义和调用方法必须显式使用 out 关键词。