在内部,编译器应该将lambda表达式转换为方法.在这种情况下,这些方法是私有还是公共(或其他),是否可以改变它?
编译器应该翻译这段代码:
public static explicit operator Int64(MyNumber n)
{
return n.ToInteger();
}
public static explicit operator Double(MyNumber n)
{
return n.ToDouble();
}
Run Code Online (Sandbox Code Playgroud)
两个方法具有相同的名称和签名,但只有它们的返回类型不同,例如
public static Int64 ExplicitCast(MyNumber n)
...
public static Double ExplicitCast(MyNumber n)
...
Run Code Online (Sandbox Code Playgroud)
但是,我们不允许只有返回类型的方法.窗帘后面会发生什么?