Emi*_*nem 10 c# compiler-errors
我在编译时遇到以下错误.如何解决它而不必使用不同的函数名称
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());
}
Run Code Online (Sandbox Code Playgroud)
das*_*ght 16
编译器很困惑,因为null匹配两个重载.您可以显式null转换为您需要的类,让编译器知道您调用的两个重载中的哪一个:
if (value == null)
{
return this.SomeMethodName((SomeClassType)null);
}
Run Code Online (Sandbox Code Playgroud)