`
xitongyunwei
  • 浏览: 929490 次
文章分类
社区版块
存档分类
最新评论

C#特性详细讲解

 
阅读更多
元数据,就是C#中封装的一些类,无法修改.类成员的特性被称为元数据中的注释.

1、什么是特性

1)属性与特性的区别

属性(Property):属性是面向对象思想里所说的封装在类里面的数据字段,Get,Set方法。

特性(Attribute): 官方解释:特性是给指定的某一声明的一则附加的声明性信息。允许类似关键字的描述声明。它对程序中的元素进行标注,如类型、字段、方法、属性等。从.net角度看,特性是一种类,这些类继承于System.Attribute类,用于对类、属性、方法、事件等进行描述,主要用在反射中。但从面向对象的级别看,其实Attribute是类型级别的,而不是对象级别。

Attributes和.net文件的元素据保存在一起,可以用来向运行时描述你的代码,或者在程序运行的时候影响程序的行为。

2、特性的应用

(1).net中特性用来处理多种问题,比如序列化、程序的安全特性、防止即时编译器对程序代码进行优化从而代码容易调试等等。

定植特性的本质上是一个类的元素上去添加附加信息,并在运行其通过反射得到该附加信息(在使用数据实体对象时经常用到)

(2)Attribute 作为编译器的指令时的应用

Conditional:起条件编译的作用,只有满足条件,才允许编译器对它的代码进行编译。一般在程序调试的时候使用

DllImport:用来标记费.net的函数,表明该方法在一个外部的DLL中定义。

Obsolete:这个属性用来标记当前的方法已经废弃,不再使用

注:Attribute是一个类,因此DllImport也是一个类,Attribute类是在编译的时候实例化,而不是像通常那样在运行时实例化。

CLSCompliant: 保证整个程序集代码遵守CLS,否则编译将报错。

3、自定义特性

使用AttributeUsage,来控制如何应用新定义的特性

[AttributeUsageAttribute(AttributeTargets.All 可以应用到任何元素

,AllowMultiple=true, 允许应用多次,我们的定值特性能否被重复放在同一个程序实体前多次。

,Inherited=false,不继承到派生

)]

特性也是一个类,必须继承于System.Attribute类,命名规范为“类名”+Attribute。不管是直接还是间接继承,都会成为一个特性类,特性类的声明定义了一种可以放置在声明之上新的特性。

多分享,多受益。

我为人人,人人为我。

赠人玫瑰,手留余香。点击链接刷刷流量吧:http://shop70757995.taobao.com/

分享到:
评论

相关推荐

    C#反射特性基础知识

    C#反射 详细讲解。对于C#反射的基础知识涉及很全面。共享给大家

    C#串口通信讲解

    1.3.1电气特性 5 1.3.2信号线分配 5 二、C#中串口通信编程 7 2.1 SerialPort常用属性、方法和事件 7 2.1.1 命名空间简单介绍 7 2.1.2串口的通讯参数 7 2.1.3串口的打开和关闭 8 2.1.4 数据的发送和读取 8 2.1.5 ...

    C# in Depth

    C# in Depth 深入讲解C#特性

    果壳中的C#5.0权威指南.pdf

    《果壳中的C#:C#5.0权威指南》通过26章的内容,系统、全面、细致地讲解了C#5.0从基础知识到各种高级特性的命令、语法和用法。《果壳中的C#:C#5.0权威指南》的讲解深入浅出,同时为每一个知识点都专门设计了贴切、...

    Serializable在C#中的作用.NET 中的对象序列化

    详细讲解了C#中关于对象序列化的知识,包括基本序列化、选择序列化、自定义序列化;对于了解在C#中如何进行对象的序列化有价值

    C#从现象到本质,随书源码。

    第二部分“C#特性”,包括委托和事件、泛型、反射、数据结构、LINQ的相关技术、动态语言运行时;第三部分“多线程和异步”,包括多线程的概念、多线程同步、异步编程理论与实例、任务并行库等。本书精选大量案例,循...

    精通C#(经典C#教程)

    本书是C# 领域久负盛名的经典著作,深入全面地讲解了C# 编程语言和.NET 平台的核心内容,并结合大量示例剖析相关概念。全书分为八部分:C# 和.NET 平台、C# 核心编程结构、C# 面向对象编程、高级C# 编程结构、用.NET...

    C#4.0权威指南

    内容全面,不仅重点讲解了C# 4.0的所有新特性,而且对C#的所有知识点的原理、用法和要点都进行了全面的讲解和深度的分析,广度和深度完美结合。《C# 4.0权威指南》注重实践,包含大量有价值的示例代码,可操作性极强...

    深入理解C# 中文第三版

    第7章结束C# 2的讲解:最后的一些特性 第三部分C# 3:革新写代码的方式 第8章用智能的编译器来防错 第9章Lambda表达式和表达式树 第10章扩展方法 第11章查询表达式和LINQ to Objects 第12章超越集合的LINQ 第...

    精通C#(第6版)

    本书是C# 领域久负盛名的经典著作,深入全面地讲解了C# 编程语言和.NET 平台的核心内容,并结合大量示例剖析相关概念。全书分为八部分:C# 和.NET 平台、C# 核心编程结构、C# 面向对象编程、高级C# 编程结构、用.NET...

    C#面向对象的精彩讲解(绝对精辟)

    c#面向对象 面向对象的特性 各种面向对象编程语言相互有别,但都能看到它们对面向对象三大机制的支持,即: “封装、继承、多态”

    精通C#第六版

    图灵程序设计丛书:精通C#(第6版)是C#领域久负盛名的经典著作,深入全面地讲解了C#编程语言和。NET平台的核心内容,并结合大量示例剖析相关概念。全书分为八部分:C#和。NET平台、C#核心编程结构、C#面向对象编程...

    C#4.0权威指南.pd

    内容全面,不仅重点讲解了C# 4.0的所有新特性,而且对C#的所有知识点的原理、用法和要点都进行了全面的讲解和深度的分析,广度和深度完美结合。《C# 4.0权威指南》注重实践,包含大量有价值的示例代码,可操作性极强...

    C#多线程编程实战 源代码

    本书是一本通俗易懂的C#多线程编程指南,通过70多个容易理解的示例,循序渐进地讲解C#5.0中的异步及并发编程,引导读者了解Windows下C#多线程编程的多样性。 通过阅读本书,你将学到: 使用原始线程、异步线程,...

    C#入门经典(第7版)带目录 高清完整.pdf版下载

    《C#入门经典》系列是屡获殊荣的C#名著和超级畅销书。新版的 C#入门经典(第7版) C# 6.0 & Visual Studio2015 全面介绍使用...第4版面向C#2008和.NET 3.5 继续完善原有内容,同时全面介绍.NET的最新技术和特性。

    C# 6.0 Cookbook

    针对C#6.0,进行了很详细的讲解,对于想了解C#6.0特性的同学,很有帮助

    《C#4.0捷径教程》配套源码

    本书是经典教程的全面升级,通过许多精彩的示例介绍了C# 语言的每个新特性,深入浅出地讲解了C# 语言的核心概念,以及如何聪明地应用C# 的习惯用法和面向对象的设计模式来挖掘C# 和CLR 的能力。这一版还介绍了C# 4.0...

    完全手册Visual C# 2008开发技术详解 源码

    同时以较大篇幅介绍了C# 2008中的重要特性,如泛型、GDI+、ASP.NET,以及数据操作控件等。最后介绍两个案例,并给出详细的设计过程及代码说明,以巩固和加深本书介绍的知识。 全书配合了大量的图例及代码说明,如果...

    Visual C# 2010程序设计教程(教程PPT+源代码)

    Visual C# 2010程序设计教程》详细介绍了Visual C# 2010程序设计的基础知识、基本方法和应用技巧,共分14章,主要内容包括.NET平台与Visual Studio 2010开发环境、C#语言基础及面向对象程序设计、C#程序设计、C# Web...

Global site tag (gtag.js) - Google Analytics