惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
博客园 - 【当耐特】
IT之家
IT之家
M
MIT News - Artificial intelligence
酷 壳 – CoolShell
酷 壳 – CoolShell
Martin Fowler
Martin Fowler
V
Visual Studio Blog
F
Fortinet All Blogs
The Cloudflare Blog
Last Week in AI
Last Week in AI
博客园 - 司徒正美
G
Google Developers Blog
Vercel News
Vercel News
爱范儿
爱范儿
小众软件
小众软件
WordPress大学
WordPress大学
I
InfoQ
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
MongoDB | Blog
MongoDB | Blog
A
About on SuperTechFans
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
Check Point Blog
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

博客园 - 楚潇

有关sqlserver的锁 基于dotnet2.0的联通sgip1.2协议二级网关源码 .net winform下TreeNode在没有子结点时也显示+号的解决办法 在vs2005中用gridview显示表中的image字段 - 楚潇 - 博客园 谁没在变! vs2k5 中asp.net "Web Site Administration Tool "使用中遇到的问题 - 楚潇 美达飞凡16X DVD起死回生记 寄语八十年代的新一代 小胜凭智, 大胜靠德 《windows核心编程》 再读<心航> visual C# 2005 express beta2读配置文件的问题(ms的bug?) C#中判断socket是否已断开的方法 将对象转为byte[] 摘自古龙的句子 端午节到了 C#中的字符串格式化 .net开发手机短信 怎样才能提高.net的水平呢?
Reflaction很嚣张的功能
楚潇 · 2005-05-03 · via 博客园 - 楚潇

这几天在看《Visual.Basic.dot.NET.Business.Objects》一书,里面有几招挺牛的,记录下来。

1、即使一个类的contructor是private的,也可以用以下方法构造之:

  Activator.CreateInstance(GetType(Customer), True)

2、用Reflection调用一个对象的方法也是一个很嚣张的功能

     #Region " Calling a method "

       Private Function GetMethod(ByVal ObjectType As Type, _
                                  ByVal Method As String) As MethodInfo

         Return ObjectType.GetMethod(Method, BindingFlags.FlattenHierarchy Or _
                                             BindingFlags.Instance Or _
                                             BindingFlags.Public Or _
                                             BindingFlags.NonPublic)
       End Function

     #End Region


     Private Function CallMethod(ByVal obj As Object, _
                                 ByVal method As String, _
                                 ByVal ParamArray params() As Object) As Object

       ' Call a private method on the object
       Dim info As MethodInfo = GetMethod(obj.GetType, method)
       Dim result As Object
       Try
         result = info.Invoke(obj, params)
       Catch e As Exception
         Throw e.GetBaseException
       End Try

       Return result

     End Function