找到所有Func代表

时间:2014-09-17 03:19:43

标签: c# .net reflection delegates func

为什么

var funcDelegatesCount = Assembly.Load("mscorlib")
        .GetTypes()
        .Count(t => 
               t.Name.StartsWith("Func`") 
            && t.BaseType == typeof(MulticastDelegate));

返回9.但实际上有17个。

1 个答案:

答案 0 :(得分:4)

咦。答案很有趣。

  • Func<>Func<,,,,,,,,>位于mscorlib汇编中。

  • Func<,,,,,,,,>Func<,,,,,,,,,,,,,,,,>位于System.Core汇编中。

检查:

Console.WriteLine("{0} != {1}",
    typeof(Func<,,,,,,,,>).Assembly, typeof(Func<,,,,,,,,,>).Assembly);