zoukankan      html  css  js  c++  java
  • 反射调用Method

    GetMethod(string name)

    在反射重载方法时,如果调用此重载方法,会产生发现不明确的匹配 的错误。

    解决方案如下:

    GetMethod("MethodName", new Type [] { typeof(参数类型)});

    其中type数组中的项的个数是由要调用的方法的参数个数来决定的。

    如果无参数,则new Type[]{},使Type数组中的项个数为0

    例:GetMethod("get_Item", new Type [] { typeof(int)});

    PS:

    我们知道,引用类型的对象使用常规的赋值方式只是将对象指针赋给变量,但有些时候,我们希望赋值是赋一个副本而不是指针,那么可以用对象提供的类似Clone()方法来获取对象的浅副本,但一些对象并未提供类似的方法,那么我们可以用下面的方法来获取对象的浅副本:  

    MethodInfo mi=typeof(object).GetMethod("MemberwiseClone",BindingFlags.NonPublic | BindingFlags.Instance);  return mi.Invoke(objectSource,null);   如果是自己定义的类,可以自己加入一个Clone方法:   Public myObject Clone()  {      return (myObject)base.MemberWiseClone();  }

  • 相关阅读:
    惊讶
    BLOG休假
    因考试得福
    Shape of My HeartSting !
    一个月的第一天了
    BLOG开张喽~~~
    该走了
    脏话
    EditText的属性
    游戏引擎
  • 原文地址:https://www.cnblogs.com/wanglg/p/3083837.html
Copyright © 2011-2022 走看看