zoukankan      html  css  js  c++  java
  • 反射简介

    1利用反射 如何判断传递进来的参数是否实现了某个接口

    Type t=object.GetType()

    if(t.GetInterface("ITest")!=null)

    {

    }

    2 利用反射获取类型

    Type t=Type.GetType("System.String")

    3 如何根据类型来动态的创建对象

    Type  t  =  Type.GetType("System.Data.DataTable,System.Data,Version=1.0.3300.0,  Culture=neutral,  PublicKeyToken=b77a5c561934e089");
    DataTable  table  =  (DataTable)Activator.CreateInstance(t);

    4 根据有参数的构造器创建对象

    1. Type  t  =  Type.GetType(“TestSpace.TestClass”);
    2. Object[]  constructParms  =  new  object[]  {“hello”};  //构造器参数
    3. TestClass  obj  =  (TestClass)Activator.CreateInstance(t,constructParms);

    5 如何获取方法以及动态调用方法

    //获取类型信息
    Type  t  =  Type.GetType("TestSpace.TestClass");
    //构造器的参数
    object[]  constuctParms  =  new  object[]{"timmy"};
    //根据类型创建对象
    object  dObj  =  Activator.CreateInstance(t,constuctParms);
    //获取方法的信息
    MethodInfo  method  =  t.GetMethod("GetValue");
    //调用方法的一些标志位,这里的含义是Public并且是实例方法,这也是默认的值
    BindingFlags  flag  =  BindingFlags.Public  |  BindingFlags.Instance;
    //GetValue方法的参数
    object[]  parameters  =  new  object[]{"Hello"};
    //调用方法,用一个object接收返回值
    object  returnValue  =  method.Invoke(dObj,flag,Type.DefaultBinder,parameters,null);
  • 相关阅读:
    sql中常用sql语句
    MVC中将list<>转化成json 并处理时间格式
    html echarts做统计图
    sql存储过程如何将1,2,3这种字符做批量操作
    .net中将 list<> 转换成string类型(1,2,3)
    asp.net中导出Excel通用型
    javaScript 比较时间
    javaScript从数组里随机抽取10个不重复的值
    Git 常用命令
    jQuery关键词高亮
  • 原文地址:https://www.cnblogs.com/mibing/p/7837621.html
Copyright © 2011-2022 走看看