尝试调用具有 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 

你能帮我解决这个问题吗

尝试调用具有 out 参数的函数时出现问题

你需要

打电话给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 关键词。