c# – System.Reflection.RuntimeReflectionExtensions中的方法的目的是什么?

c# – System.Reflection.RuntimeReflectionExtensions中的方法的目的是什么?,第1张

概述自.NET 4.5(2012)以来,从 System.Reflection.RuntimeReflectionExtensions class开始出现了一些新的扩展方法.但是,新的方法似乎没有给我们任何新的东西.一个例子: static void Main(){ var prop1 = typeof(string).GetProperty("Length"); var prop2 自.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的相等性).

那么这些新的公开可见的方法的目的是什么?显然我必须忽视或误解某事.

解决方法 GetRuntime *方法用于WinRT项目.由于WinRT使用的类型可能与.NET使用的类型不同,但仍然具有相同的名称并具有相同的名称,因此这些反射方法可确保返回正确的MemberInfo.如果您正在运行WinRT,则不太可能在运行时需要.NET MemberInfo.

请参阅Hans Passant对原始问题的评论.

总结

以上是内存溢出为你收集整理的c# – System.Reflection.RuntimeReflectionExtensions中的方法的目的是什么?全部内容,希望文章能够帮你解决c# – System.Reflection.RuntimeReflectionExtensions中的方法的目的是什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1258023.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-07
下一篇2022-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存