C# 如何解决此不明确的呼叫错误
我在编译时遇到以下错误。我如何解决它而不必求助于不同的函数名C# 如何解决此不明确的呼叫错误,c#,compiler-errors,C#,Compiler Errors,我在编译时遇到以下错误。我如何解决它而不必求助于不同的函数名 private double SomeMethodName(SomeClassType value) { return 0.0; } private double SomeMethodName(ADifferentClassType value) { if (value == null) { return this.SomeMethodName(null); //<
private double SomeMethodName(SomeClassType value)
{
return 0.0;
}
private double SomeMethodName(ADifferentClassType value)
{
if (value == null)
{
return this.SomeMethodName(null); //<- error
}
return this.SomeMethodName(new SomeClassType());
}
private双精度SomeMethodName(SomeClassType值)
{
返回0.0;
}
私有双SomeMethodName(adInterferTClassType值)
{
如果(值==null)
{
返回此.SomeMethodName(null);//编译器感到困惑,因为null
匹配两个重载。您可以显式地将null
强制转换到需要让编译器知道您调用的两个重载中的哪一个的类:
if (value == null)
{
return this.SomeMethodName((SomeClassType)null);
}