自.NET 4.5(2012)以来,从
System.Reflection.RuntimeReflectionExtensions
class开始出现了一些新的扩展方法.但是,新的方法似乎没有给我们任何新的东西.一个例子:
static void Main() { var prop1 = typeof(string).GetProperty("Length"); var prop2 = typeof(string).GetRuntimeProperty("Length"); // extension,needs: using System.Reflection; Console.WriteLine(prop1 == prop2); Action a = Main; var meth1 = a.Method; var meth2 = a.GetMethodInfo(); // extension,needs: using System.Reflection; Console.WriteLine(meth1 == meth2); }
这写了两次.
(==操作符在这里重载,但是甚至检查引用与(object)prop1 ==(object)prop2和(object)meth1 ==(object)meth2给出True的相等性).
那么这些新的公开可见的方法的目的是什么?显然我必须忽视或误解某事.