关于C#方法重载和调用解析,我有一个疑问。
假设我有以下的C#代码:
enum MyEnum { Value1, Value2 }
public void test() {
method(0); // this calls method(MyEnum)
method(1); // this calls method(object)
}
public void method(object o) {
}
public void method(MyEnum e) {
}
请注意,我知道如何使其工作,但我想知道为什么对于一个int值(0),它调用一种方法,而对于另一个值(1),它调用另一种方法。这听起来很尴尬,因为这两个值具有相同的类型(int),但它们与不同的方法“链接”。