zoukankan      html  css  js  c++  java
  • C# 反射

    根据type创建对象的几种方法

    (1) type.GetConstructor() / GetConstructors()

    types = new Type[]{ typeof(string) , typeof(int)};   (指定该构造函数有两个参数,分别是string型和int型)

    constructorInfo = type.GetConstructor(types);    (types为构造函数参数的类型)

    constructorInfo.Invoke(objects);   (objects 为构造函数参数)

    (2) 静态函数 Activator.CreateInstance()

    object = Activator.CreateInstance(type);  (type 为创建对象的类型)

    (3) 通过Assembly获得程序集的信息和动态加载程序集

    System.Reflection;
     assembly= Assembly.Load("ClassLibrary"); (通过程序集名称加载程序集)
     assembly= Assembly.LoadFrom("ClassLibrary.dll"); (通过dll文件路径加载程序集)

     type =assembly.GetType("ClassLibrary.ClassName") (获取类的类型)

    type 类的 属性 和 方法

    获取类型下所有变量,不是类型。

    (Type)type.GetFields();

    修改对象中的变量的值

    FieldInfo fieldInfo = type.GetField("_str");
    fieldInfo.SetValue(object,"aaaa"); 
  • 相关阅读:
    网易企业免费邮箱
    168. Excel Sheet Column Title
    167.Two Sum II-Input array is sorted
    166. Fraction to Recurring Decimal
    165 Compare Version Numbers
    164. Maximum Gap
    163.Missing Ranges
    162.Find Peak Element
    161.One Edit Distance
    160. Intersection of Two Linked Lists
  • 原文地址:https://www.cnblogs.com/z45281625/p/11050279.html
Copyright © 2011-2022 走看看