在方法调用中内联out参数
本文关键字:out 参数 方法 调用 | 更新日期: 2023-09-27 17:57:33
在编写代码时,我有时会发现如果需要,返回一个bool值successful和一个代码的out参数很有用。或者甚至使用CCD_ 1函数和它们各自的输出参数。
最近的一个例子是以下方法签名:
private State GetTheStateOfClass1(Class1 o, out double confidence)
这里我有一个方法,它可以找到Class1
对象的状态,以及该对象确实具有该状态的相应置信度。
此方法用于创建Class2
的新实例,如
double confidence;
Class2 c2 = new Class2(GetTheStateOfClass1(o, out confidence), confidence, ...);
有没有一种方法可以使用这样的内联参数:
Class2 c2 = new Class2(GetTheStateOfClass1(o, out double confidence), confidence, ...);
据我所知,这是不可能的;CCD_ 4参数需要是调用方作用域中的实际变量。话虽如此,解决方法是创建一个不使用out参数的重载,如下所示。
private State GetTheStateOfClass1(Class1 o)
{
double confidence;
return GetTheStateOfClass1(Class1 o, out confidence);
}