Silverlight中的反射

Silverlight中的反射,第1张

概述最近研究Silverlight的反射技术,找了很多的资料,很多都不适用,终于在本人的不懈努力下,弄出了一点成果,与大家分享一下。 Silverlight实现反射的方法很简单,使用IO流 + 反射,可以轻松的将dll解析,下面是我自己写的一点代码: 1.添加引用using System.Reflection; using System.IO; 2.实现: string ass

最近研究Silverlight的反射技术,找了很多的资料,很多都不适用,终于在本人的不懈努力下,弄出了一点成果,与大家分享一下。

Silverlight实现反射的方法很简单,使用IO流 + 反射,可以轻松的将dll解析,下面是我自己写的一点代码:

1.添加引用using System.Reflection; using System.IO;

2.实现:

            string assemblyname = @"E:\Work\Test\LogInfoTest\ZKR.Silverlight.Core\Bin\DeBUG\ZKR.Silverlight.Core.dll"; //文件路径            fileStream fs = new fileStream(assemblyname,fileMode.Open,fileAccess.Read); //将文件转化为Stream            AssemblyPart part = new AssemblyPart(); //实例化AssemblyPart对象            Assembly assembly = part.Load(fs); //加载文件的Stream            fs.Close(); //关闭Stream            Type[] ts = assembly.GetExportedTypes(); //获取文件的基本信息            foreach (Type item in ts)            {                string nameSpace = item.namespace; //命名空间                string name = item.name; //类名                MemberInfo[] mi = item.getmethods(); //获取全部的信息                foreach (MemberInfo MiItem in mi)                {                    string s = MiItem.name;                    switch (MiItem.MemberType)                    {                        case MemberTypes.Event: //事件                            break;                        case MemberTypes.FIEld: //字段                            break;                        case MemberTypes.Method: //方法                            break;                        case MemberTypes.Property: //属性                            break;                        default:                            break;                    }                }            }

这样的方法似乎可以解析任意的dll,但是实际上是不是这样,还不是很确定,如果大家有什么新的发现,希望能分享一下!

总结

以上是内存溢出为你收集整理的Silverlight中的反射全部内容,希望文章能够帮你解决Silverlight中的反射所遇到的程序开发问题。

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

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

原文地址:https://54852.com/web/1074280.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存