我正在尝试使用具有相同名称的字段和方法。
class Foo {
String Bar;
String Bar() { return "woo"; }
}
Error 8 Ambiguity between 'Foo.Bar' and 'Foo.Bar()'
我可以不使用
Bar()
扩展方法来执行此操作吗?例如,这有效class Foo {
String Bar;
}
public class Woo {
public static String Bar(this Foo) { return "woo"; }
}
最佳答案
你不能您也许可以像以前一样找到解决方法,但是要以the C# spec explicitly forbids this的面值看待:
方法的名称必须与同一类中声明的所有其他非方法的名称不同。此外,方法的签名必须与同一类中声明的所有其他方法的签名不同。
关于c# - 我该如何解决这种歧义?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7883335/