public enum EnumTest
{
EnumEntry
}
public class TestClass
{
public string FunctionMember(string s, EnumTest t = EnumTest.EnumEntry)
{
return "Normal";
}
public string FunctionMember<T>(T t)
{
return "Generic";
}
}
class Program
{
static void Main(string[] args)
{
TestClass t = new TestClass();
Console.WriteLine(t.FunctionMember("a"));
}
}
这将打印“通用”。删除, EnumTest t = EnumTest.EnumEntry
使其打印“正常”。
然而标准似乎很明确,从14.4.2.2 Better function member开始应用的第一个鉴别器是:
- 如果 MP 和 MQ 之一是非泛型,而另一个是泛型,则非泛型更好。
我错过了什么或编译器错误吗?