C#高级编程之反射】的更多相关文章

反射的定义 MSDN定义:反射提供描述程序集.模块和类型的对象(Type类型). 可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型,然后调用其方法或访问器字段和属性. 如果代码中使用了特性,可以利用反射来访问它们. 一共三句话. 第一句意思是可以利用反射提供的API来获取程序集信息,包括其下的模块.Type类型信息: 第二句意思通过反射,先拿到这个程序集->Module->Type的类型信息,然后调用实例化的API Activator.CreateInstance…
Atitit.  高级软件工程师and 普通的区别 高级编程的门槛总结 1. 完备的知识体系 2 2. 编程理论/原理的掌握 2 1.1. 掌握常用的概念(ORM,IOC,AOP,event driver/mvc 等) 2 1.2. 高级概念(lambda,闭包closure,fp,dsl ) 2 1.3. 元编程MOP  Annotation/attributi 2 1.4. 规则引擎and jbpm 2 1.5. 自己的框架and工具的 2 1.6. 自己的输入法 2 1.7. Uapi 3…
译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 38 章 实体框架核心(上)),不对的地方欢迎指出与交流. 章节出自<Professional C# 6 and .NET Core 1.0>.水平有限,各位阅读时仔细分辨,唯望莫误人子弟. 附英文版原文:Professional C# 6 and .NET Core 1.0 - 38 Entity Framework Core ------------------------------- 本章内容 En…
译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 41 ASP.NET MVC(上)),不对的地方欢迎指出与交流. 章节出自<Professional C# 6 and .NET Core 1.0>.水平有限,各位阅读时仔细分辨,唯望莫误人子弟. 附英文版原文:Professional C# 6 and .NET Core 1.0 - Chapter 41 ASP.NET MVC ------------------------------------ 本…
译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 41 ASP.NET MVC(中)),不对的地方欢迎指出与交流. 章节出自<Professional C# 6 and .NET Core 1.0>.水平有限,各位阅读时仔细分辨,唯望莫误人子弟. 附英文版原文:Professional C# 6 and .NET Core 1.0 - Chapter 41 ASP.NET MVC C# 6 与 .NET Core 1.0 高级编程 - 41 ASP.NET…
类和结构的区别 类成员 匿名类型 结构 弱引用 部分类 Object类,其他类都从该类派生而来 扩展方法 3.2 类和结构 类与结构的区别是它们在内存中的存储方式.访问方式(类似存储在堆上的引用类型,而结构是存储在栈上的值类型)和它们的一些特征. 语法上,类与结构非常相似,主要区别是结构使用关键字 struct 代替 class 来声明. 3.3 类成员 3.3.1 数据成员 数据成员是包含类数据—字段.常量和事件的成员. 3.3.2 函数成员 函数成员提供了操作类中数据的某些功能,包括方法.属…
前言 本篇我们继续讲解本章其余的部分:构造函数.只读字段.匿名类型.结构详解.部分类.静态类.Object类.扩展方法,等. 01 类 构造函数 构造函数是一种特殊的方法: 与类同名 没有返回值,甚至不能写void(但可以写修饰符public,private,protected) 未指定构造函数时,编译器会自动创建默认构造函数:一旦手工创建了构造函数,编译器就不会再创建默认构造函数 构造函数可重载,同方法一样 静态构造函数:构造函数加static关键字:它只执行一次,一般用于初始化静态字段或者属…
前言 新年好,本篇开始进入第三章,<对象和类型>,深刻理解C#的对象,对于使用好.Net类库非常重要. 01 类和结构 从使用角度看,结构和类的区别很小,比如,将结构定义转换为类,只需要将关键字struct改为class即可.创建结构的时候,也同样可以用关键字new.它们的本质区别是,结构是值类型,存储在栈上,而类存储在堆上. 但我还没碰到什么情况下需要使用结构.因为一般的业务代码,在设计时很难提炼出足够可泛化的含义,而如果只是少数情况下采用结构,对性能的提升微乎其微.但我们也可以发现在.Ne…
前言 本篇讲述枚举和名称空间. 01 枚举 首先需要明确枚举的概念:枚举是用户定义的整数类型.使用枚举的目标是,使用一组容易记忆的名称,来使得代码更容易编写和维护. 我们对比枚举的定义和类的定义,会发现它们有像的地方,有不像的地方,这不同之处体现了枚举的特性.我们按下图举例: C#中,一般习惯于一个文件定义一个类.而一个项目中可能有大量枚举,一般建议将多个枚举定义在一个文件中. 很多书中对于枚举只有一个称谓“枚举”,但是,如上图,到底是OrgType1是枚举,还是Vendor是枚举?实际上准确的…
01 程序集 程序集是包含编译好的.基于.Net Framework的代码逻辑单元.一般来说,在Visual Studio中的一个项目即一个程序集,而一个项目中包含多种不同的代码文件.程序集分为可执行程序集和库程序集,比如一个Winform项目就编译为可执行程序集,而Winform项目所包含的其他库项目则编译为库程序集.可执行程序集包含主程序入口点,而库程序集不包含. 程序集的特点是,它是完全自描述的,这和传统的COM组件非常不同,而自描述的程序集正是要解决传统COM组件的信息分离问题.一个CO…