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

时间:2013-09-17 06:57:32

标签: c# asp.net

我有这样的功能:

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 

你可以帮我解决这个问题吗

4 个答案:

答案 0 :(得分:3)

您需要致电example(a,b,c,d,e, out f);

并且无需初始化f,最好不要这样做(这是误导性的):

//decimal f=0;
decimal f;

答案 1 :(得分:1)

由于dout parameter,您需要out keyword(在C#中):

example(a, b, c, d, e, out f)

答案 2 :(得分:0)

您还需要在方法调用中使用out关键字:

example(a, b, c, d, e, out f);

另请参阅:out parameter modifier (C# Reference)

答案 3 :(得分:0)

当您调用方法时,您也应该使用out关键字;

example(a,b,c,d,e, out f);

来自MSDN;

  

out关键字导致参数通过引用传递。这是   像ref关键字一样,除了ref要求变量是   在传递之前初始化。 要使用out参数,请同时使用   方法定义和调用方法必须明确使用out   关键字。