元数据与反射(二)

1.反射程序集

获取Assmbly对象有以下方法:

(1)Assmbly.Load("程序集文件名称")

Assembly assembly = Assembly.Load("类库Demo");

(2)Assmbly.LoadFrom("程序集文件名")

Assembly assembly = Assembly.LoadFrom("类库Demo.dll");

上述两个方法的区别就在于Load只需要提供文件名不加后缀的信息即可。
(3)反射当前的程序集 Assmbly.GetExecutingAssembly()

Assembly assembly = Assembly.GetExecutingAssembly();

值得注意的是,对于引用同一解决方案的其他项目生成的程序集,Load和LoadFrom只需要提供程序集名就可以了,但是对于非本解决方案下得程序集,则需要提供程序集的完整路径了。

           Assembly assembly2 = Assembly.LoadFrom(@"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.dll");
 

否则会报以下错误:

时间: 2024-10-12 23:01:44

元数据与反射(二)的相关文章

入门反射(二)

原文:入门反射(二) 这篇来看一下反射的使用吧!举个例子! 举例子,肯定需要一个类啦,先建一个学生例子类: public class Student { public int Status; public int Id { get; set; } public string Name { get; set; } public string Sex { get; set; } public void Show() { Console.WriteLine("姓名:{0}", Name);

C#反射(二)

长时间没有回顾反射知识了,今天就讲解一下反射的一般第二个用法. 二.对方法,属性等的反射 首先需要写一个测试类,生成.exe或.dll文件. class Test {   public Test()//普通构造方法 {   } public string writeString(string s)//有参方法 {   return "welcome:" + s;  } public static string staticString(string s)//静态方法 {   retur

C#反射(二) 【转】

如果没有看<C#反射(一)>.建议先看<C#反射(一)>再看这一篇.上一篇文章发表,有人评论我所写的东西比较基础.其实我也知道我也只不过是在写最基础的语法而已,之所以写它是因为自己学编程学了一两年之后才接触到反射,相信会有很多人跟我有过同样的经历.概其原因,书店里几乎90%的书籍都不谈反射.还有,曾经在百度.goole搜索过反射,但也很难找到自己喜欢的答案.希望我所写的东西能为那些初学编程的新手有所帮助. 我不想在这里过多的描述反射的概念.我还是用我自己觉得最简单.最直接的语言来描

跟我学Java反射——二步曲

上一篇文章我们已经将反射的基本知识和class类以及类的加载器进行了介绍,在上一篇我们还学习了四种得到Class类对象的方式,但是有了class对象我们能做些什么呢,学习完这篇文章,就可以得到答案了. 获取类的完整结构 这篇文章我们主要通过demo来学习,我先将demo需要用到的代码进行简单介绍. 一个接口MyInterface代码: package com.tgb.reflect.common; import java.io.Serializable; public interface MyI

INFORMATICA 的元数据管理之二:运行状态信息查询

本项目里的两个哥们做的关于运行状态元数据的两个JOB挺酷的,最近一段时间运行状况良好,自己参考学习的同时以做日志记载,呵呵,为了节省笔墨,相关元数据表结构以及MAPPING设计之类不做介绍(如有疑问欢迎留言探讨),仅对思路做以梳理如下: 1. 通过WKF ID和TASK ID关联对应WKF,TAST,从而形成关于SESSION运行状态报表如下: SELECT OPB_SUBJECT.SUBJ_NAME, OPB_WFLOW_RUN.WORKFLOW_NAME, OPB_TASK_INST_RUN

Java反射(二):检测类的修饰符和类型

一个类可被若干个能影响其运行时行为的修饰符声明: 访问修饰符:public,protected,private 需要重载的修饰符:abstract 限制为只有一个实例的:static 阻止值修改:final 强制严格浮点行为:strictfp 注解 不是所有的修饰符能用在所有的类上.比如final不能修饰接口,枚举不能是abstract.java.lang.reflect.Modifier包含了所有可能修饰符的声明,它也包含用来编码由Class.getModifiers()返回的修饰符集合的方法

程序集,元数据,应用程序域,反射,特定属性

元数据,反射,特定属性 元数据就是一大推表,类型定义表,字段定义表,方法定义表,属性定义表,特制属性表(Custom Attribute). 元数据是.Net Framework 的一个重要基石,反射.特制属性,就是基于元数据的, 当然特制属性是反射的一个应用. 反射其他应用? 反射主要用于FCL的类库中来提供用户更多的功能,一般用户开发的应用程序很少有机会用到反射. 1) 使用Visual Studio 的窗口设计器Desginer 去拖拽一个控件时,它有哪些属性,事件,属性(property

C#-特性,反射,动态编程

参考文档 https://www.cnblogs.com/SignX/p/11569837.html 特性 侵删https://www.cnblogs.com/forever-Ys/p/10428568.html 一.什么是特性 特性是一种允许我们向程序的程序集添加元数据的语言结构,它是用于保存程序结构信息的某种特殊类型的类.简单说就是为一个类或者类的属性等添加更多的说明与标记 MSDN中对它的解释是:特性提供功能强大的方法以将声明信息与 C# 代码(类型.方法.属性等)相关联.特性与程序实体关

C#图解教程 第二十四章 反射和特性

反射和特性元数据和反射Type 类获取Type对象什么是特性应用特性预定义的保留的特性Obsolete(废弃)特性Conditional特性调用者信息特性DebuggerStepThrough 特性其他预定义特性有关应用特性的更多内容多个特性其他类型的目标全局特性自定义特性声明自定义特性使用特性的构造函数指定构造函数使用构造函数构造函数中的位置参数和命名参数限制特性的使用自定义特性的最佳实践访问特性使用IsDefined方法使用GetCustomAttributes方法 Note 类的元数据包含