• 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"); 
  • 相关阅读:
    Linux PXE无人值守网络装机
    Linux 自动化部署DNS服务器
    Linux DNS服务配置
    Mysql数据库基础学习笔记
    Linux AIDE(文件完整性检测)
    mysql:[Err] 1068
    sql的date、时间函数、时间戳
    hive之建立分区表和分区
    excel转sql代码
    spark-submit之使用pyspark
  • 原文地址:https://www.cnblogs.com/z45281625/p/11050279.html
Copyright © 2020-2023  润新知