在方法调用中内联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, ...);

在方法调用中内联out参数

据我所知,这是不可能的;CCD_ 4参数需要是调用方作用域中的实际变量。话虽如此,解决方法是创建一个不使用out参数的重载,如下所示。

private State GetTheStateOfClass1(Class1 o)
{
    double confidence;
    return GetTheStateOfClass1(Class1 o, out confidence);
}