none
请问能通过一个Function的名字调用它?谢谢~! RRS feed

  • 问题

  • 假设 dim a as string=“KDJ”

    我想遍历一个类中的Function,如果其中有一个Function的名字恰好=a的话,

    (这个叫 KDJ 的Function 是带参数的 )

    我就想调用它,请问该怎么办?


    Work8862

    2015年1月2日 16:45

答案

  • 你好,

    VB中本身有一个叫做CallByName的方法,就是用来根据方法名称来调用方法的。 http://msdn.microsoft.com/zh-cn/library/chsc1tx6(v=vs.90).aspx

    写个例子:

    CallByName( ClassName , "KDJ" , vbMethod , Parameter A, Parameter B, ... )'后面是参数,有几个加几个,没有可以不加。
    ClassName是你的那个类名。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 Work8862 2015年1月8日 13:06
    2015年1月5日 6:00
    版主

全部回复

  • 使用 "反映" 的技巧.

    Type.GetMethod 取得 MethodInfo, 再使用 MethodBase.Invoke 調用.

    Type.GetMethod 方法

    MethodBase.Invoke 方法


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。


    2015年1月3日 15:41
  • 你好,

    VB中本身有一个叫做CallByName的方法,就是用来根据方法名称来调用方法的。 http://msdn.microsoft.com/zh-cn/library/chsc1tx6(v=vs.90).aspx

    写个例子:

    CallByName( ClassName , "KDJ" , vbMethod , Parameter A, Parameter B, ... )'后面是参数,有几个加几个,没有可以不加。
    ClassName是你的那个类名。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 Work8862 2015年1月8日 13:06
    2015年1月5日 6:00
    版主
  • 这两天没时间,过两天试一下!

    Work8862

    2015年1月7日 3:15
  • 感谢你的解答,我想你的方法应该是可行的,

    我采用了楼下的方法,就是用Callbyname。

    我不懂这个和你说的方法的深层次的区别,

    楼下的方法用起来更简单一些!

    谢谢!


    Work8862

    2015年1月8日 13:09