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より優れた機能メンバーから、最初に適用される識別子は次のとおりです。
- MPとMQの一方が非ジェネリックであり、もう一方がジェネリックである場合は、非ジェネリックの方が適しています。
何かまたはコンパイラのバグがありませんか?