decimal dpmo = notMet + notMet * 100;
decimal ans = Summary_Matrics_Client.getall(dpmo);
这里我正在调用LINQ函数
public static decimal getall(ref decimal? number)
{
var sigma = from p in db.getDPMO(ref number)
select p.Sigma.Value;
return sigma.SingleOrDefault();
}
getDPMO是存储过程,它是:
ALTER PROCEDURE getDPMO
(
@number decimal OUTPUT
)
AS
select
min(Sigma_Value) as Sigma
from
Sigma_Table
where Defect_Rate < @number
RETURN
我收到错误:(ref?decimal)在调用getall()
时有无效参数
答案 0 :(得分:1)
这是错误:
decimal ans = Summary_Matrics_Client.getall(dpmo);
您需要通过引用传递它,因为您在getall
方法签名中定义了它将通过引用参数,因此您需要在调用中添加ref
关键字:
decimal ans = Summary_Matrics_Client.getall(ref dpmo);
顺便说一下你实际上不需要通过引用传递它,没有必要,只是简单地说,虽然我可以在getall
的实现中看到你再次经过引用可能是getDPMO
期望带有ref
关键字的参数的情况,即(通过引用引用):
public static decimal getall(decimal? number)
然后调用方将是你现在写的:
decimal ans = Summary_Matrics_Client.getall(dpmo);