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);
}