Reflection 反射需要引用 using System.Reflection; 命名空间。

   通过 Assembly 类的 Load( ); 加载指定的 程序集

Assembly 是不能被实例化, 所以能通过调用静态方法Load();加载指定程序集。

通过GetType()RefLiuyl中GetCond的类型

Assembly assembly = Assembly.Load("RefLiuyl");
//获取类型,参数(名称空间+类)
Type type = assembly.GetType("RefLiuyl.GetCon");

还有一种当使用泛型的时候 GetName<T>() 。 直接 获取类型Type type = typeof(T);

 我们来看看部分内部Load原型静态方法:

    //Assembly内部Load原型 --部分
public class Assembly
{
//Load静态重载原型
public static Assembly Load(AssemblyName assemblyRef);
public static Assembly Load(string assemblyString);
}
这里的 AssemblyName 其实就是取 程序集
 AssemblyName classlibrary = new AssemblyName("ClassLibrary");
Assembly assembly = Assembly.Load(classlibrary);

 Assembly 还可以通过路径来加载程序集

Assembly assem = Assembly.LoadFrom("path");

    //Assembly内部Load原型 --部分
public class Assembly
{
//Load静态重载原型
public static Assembly LoadFrom(string path);
}

二。构造类型的实例

Assembly assembly = Assembly.Load("RefLiuyl");
//获取类型,参数(名称空间+类)
Type type = assembly.GetType("RefLiuyl.GetCon");
获取到类型后,我们需要实例化它。 通过System.Activator的CreateInstance方法来实例化它。
            AssemblyName classlibrary = new AssemblyName("ClassLibrary");

           // Assembly assembly = Assembly.Load(classlibrary);
Assembly assembly = Assembly.Load("ClassLibrary"); //通过GetType()获取类型
//获取类型,参数(名称空间+类)
Type type = assembly.GetType("ClassLibrary.Student"); //创建该对象的实例,object类型,参数(名称空间+类)
object instance = assembly.CreateInstance("ClassLibrary.Student"); //或者直接使用type
object instance1 = Activator.CreateInstance(type); //当使用泛型
Type type = typeof(T);
T destObj = Activator.CreateInstance<T>();
 Activator.CreateInstance(); 返回的就是 类实例

GetProperties(); 返回程序集类型中的所有属性
            //通过GetType()获取类型
//获取类型,参数(名称空间+类)
Type type = assembly.GetType("ClassLibrary.Student");
foreach (PropertyInfo prop in type.GetProperties())
{
string namses= prop.Name;
}

返回的就是 程序集中 实例类的属性字段。

												

.net Reflection(反射)- 一的更多相关文章

  1. 代替Reflection(反射)的一些方法

    Reflection(反射)是深入学习.Net必须掌握的技能之一.最初学Reflection的时候,的确是被惊住了,原来还可以这样.只要给你一个Assembly, 你就能获取到其中所有的类型,根据类型 ...

  2. 代替Reflection(反射)的一些方法(转)

    作者:JustRun 林肯: http://www.cnblogs.com/JustRun1983/p/3830764.html 代替Reflection(反射)的一些方法(转) 2014-07-08 ...

  3. Java进阶之reflection(反射机制)——反射概念与基础

    反射机制是Java动态性之一,而说到动态性首先得了解动态语言.那么何为动态语言? 一.动态语言 动态语言,是指程序在运行时可以改变其结构:新的函数可以引进,已有的函数可以被删除等结构上的变化.比如常见 ...

  4. Java Reflection 反射基础

    反射基础: package reflection; /** * Created by : Infaraway * DATE : 2017/3/2 * Time : 23:06 * Funtion : ...

  5. List GroupBy真实用法,Reflection(反射)用法,Enum用法,正则,搜索下拉布局

    1.List  GroupBy 用法 var _roomProducts = homesingProducts.GroupBy(t => t.RoomName); RoomedProducts ...

  6. java学习--Reflection反射机制

    JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意方法和属性:这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制. ...

  7. PHP的Reflection反射机制

    更多内容推荐微信公众号,欢迎关注: 原文地址: http://www.nowamagic.net/php/php_Reflection.php PHP5添加了一项新的功能:Reflection.这个功 ...

  8. C# 反射Reflection——反射反射程序员的快乐

    一.什么是反射 反射Reflection:System.Reflection,是.Net Framework提供的一个帮助类库,可以读取并使用metadata. 反射是无处不在的,MVC-Asp.Ne ...

  9. Java之reflection(反射机制)——通过反射操作泛型,注解

    一.反射操作泛型(Generic) Java采用泛型擦除机制来引入泛型.Java中的泛型仅仅是给编译器Javac使用的,确保数据的安全性和免去强制类型转换的麻烦.但是编译一旦完成,所有和泛型有关的类型 ...

  10. C# Reflection反射机制

    一.反射 什么是反射 .Net的应用程序由几个部分:'程序集(Assembly)'.'模块(Module)'.'类型(class)'组成: 反射提供一种编程的方式,让程序员可以在程序运行期获得这几个组 ...

随机推荐

  1. 杂项:WiKi

    ylbtech-杂项:WiKi Wiki是一种在网络上开放且可供多人协同创作的超文本系统,由沃德·坎宁安于1995年首先开发,这种超文本系统支持面向社群的协作式写作,同时也包括一组支持这种写作.沃德· ...

  2. 杂项-Java:JCP

    ylbtech-杂项-Java:JCP JCP(Java Community Process) 是一个开放的国际组织,主要由Java开发者以及被授权者组成,职能是发展和更新. 1. 中文名:jcp 外 ...

  3. 1048 Find Coins

    题意:略 思路:two pointers思想,简单 先对数字序列进行排序,然后定义两个指针left和right,初始状态low=0,high=n-1.当a[low]+a[high] > M时,h ...

  4. PL/SQL 训练05--游标

    --隐式游标--通过一个简单的SELECT ...INTO 语句提取一行数据,并放在一个局部变量中,最简单获取数据的途径 --显示游标--可以在声明单元明确的声明一个查询,这样可以在一个或多个程序中打 ...

  5. Linux学习笔记 -- 话说文件

    文件基本属性 Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限.为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定. 在Li ...

  6. Linux内核中常见内存分配函数

    1.      原理说明 Linux内核中采用了一种同时适用于32位和64位系统的内存分页模型,对于32位系统来说,两级页表足够用了,而在x86_64系统中,用到了四级页表,如图2-1所示.四级页表分 ...

  7. Unity3D版本之我见

    关心Unity版本的变化以及了解未来版本的内容是专业做Unity的同学必备的功课,下面我来说一下我对4.0以后版本的一些见解. v4.0: 这个版本比3.5有较大的跳跃,首先最大卖点是新的动作系统Me ...

  8. 【phonegap】下载文件

    <!-- 打包的时候phonegap自己会添加这个文件--> <script type="text/javascript" charset="utf-8 ...

  9. Python类(二)-类的继承

    单继承 #-*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" class People: def __init__(self,name ...

  10. HTML5+ 初识,HBuilder,夜神模拟器,Webview

    一.HTML5+ 初识 HTML5 Plus应用概述 HTML5 Plus移动App,简称5+App,是一种基于HTML.JS.CSS编写的运行于手机端的App,这种App可以通过扩展的JS API任 ...