.net开发中两个“属性”引起的歧异

简介:   对于property和attribute这两个名词都叫“属性”的问题,来源于国内it书籍翻译界的疏忽。   其实它们来源于两个不同的领域,attribute属于OOA/OOD的概念,而property属于编程语言中的概念。

  对于property和attribute这两个名词都叫“属性”的问题,来源于国内it书籍翻译界的疏忽。

  其实它们来源于两个不同的领,attribute属于OOA/OOD的概念,而property属于编程语言中的概念。下面我们来说明它们的异同。

  Attribute

  Attributes是Microsoft .NET Framework文件的元数据,可以用来向运行时描述你的代码,或者在程序运行的时候影响应用程序的行为。

  Property

  属性是面向对象编程的基本概念,提供了对私有字段的访问封装,在C#中以get和set访问器方法实现对可读可写属性的操作,提供了安全和灵活的数据访问封装。关于属性的概念,不是本文的重点,而且相信大部分的技术人员应该对属性有清晰的概念。以下是简单的属性

  区别

  可以说两者没有可比性,只不过我们国家的语言特点才引起的歧异,其实只要记住Attributes是派生于System,Attributes类之下,它的主要作用是描述,比如在某一个自定义控件中的“属性”就是指Attribute,

  如

  [DllImport("User32.dll")]

  Attribute也有很多系统的“默认”属性,见下表

  预定义的属性 有效目标 说明

  AttributeUsage Class 指定另一个属性类的有效使用方式

  CLSCompliant 全部 指出程序元素是否与CLS兼容

  Conditional Method 指出如果没有定义相关联的字符串,编译器就可以忽略对这个方法的任何调用

  DllImport Method 指定包含外部方法的实现的DLL位置

  STAThread Method(Main) 指出程序的默认线程模型为STA

  MTAThread Method(Main) 指出程序的默认模型为多线程(MTA)

  Obsolete 除了Assembly、Module、Parameter和Return 将一个元素标示为不可用,通知用户此元素将被从未来的产品

  ParamArray Parameter 允许单个参数被隐式地当作params(数组)参数对待

  Serializable Class、Struct、enum、delegate 指定这种类型的所有公共和私有字段可以被串行化

  NonSerialized Field 应用于被标示为可串行化的类的字段,指出这些字段将不可被串行化

  StructLayout Class、struct 指定类或结构的数据布局的性质,比如Auto、Explicit或sequential

  ThreadStatic Field(静态) 实现线程局部存储(TLS)。不能跨多个线程共享给定的静态字段,每个线程拥有这个静态字段的副本

  而Property是指编程过程中的字段,也即类的成员。

  如:

  

      private int hour; //定义私有变量表示"小时",外部是访问不到的.}

  public int Hour// 定义Hour程序接口

  {

  set { hour=value; }

  get { return hour; }

  }

目录
相关文章
|
1月前
|
SQL 开发框架 数据可视化
企业应用开发中.NET EF常用哪种模式?
企业应用开发中.NET EF常用哪种模式?
|
2月前
|
开发框架 JavaScript 前端开发
5个.NET开源且强大的快速开发框架(帮助你提高生产效率)
5个.NET开源且强大的快速开发框架(帮助你提高生产效率)
|
3天前
|
开发框架 前端开发 JavaScript
采用C#.Net +JavaScript 开发的云LIS系统源码 二级医院应用案例有演示
技术架构:Asp.NET CORE 3.1 MVC + SQLserver + Redis等 开发语言:C# 6.0、JavaScript 前端框架:JQuery、EasyUI、Bootstrap 后端框架:MVC、SQLSugar等 数 据 库:SQLserver 2012
|
29天前
|
数据安全/隐私保护 Windows
.net三层架构开发步骤
.net三层架构开发步骤
9 0
|
29天前
深入.net平台的分层开发
深入.net平台的分层开发
47 0
|
2月前
|
开发框架 前端开发 .NET
福利来袭,.NET Core开发5大案例,30w字PDF文档大放送!!!
为了便于大家查找,特将之前开发的.Net Core相关的五大案例整理成文,共计440页,32w字,免费提供给大家,文章底部有PDF下载链接。
32 1
福利来袭,.NET Core开发5大案例,30w字PDF文档大放送!!!
|
3月前
|
C#
.NET开发中合理使用对象映射库,简化和提高工作效率
.NET开发中合理使用对象映射库,简化和提高工作效率
|
3月前
|
开发框架 前端开发 JavaScript
一款基于.NET Core的快速开发框架、支持多种前端UI、内置代码生成器
一款基于.NET Core的快速开发框架、支持多种前端UI、内置代码生成器
|
4月前
|
JavaScript C#
【傻瓜级JS-DLL-WINCC-PLC交互】2.wincc使用C#开发的.net控件
【傻瓜级JS-DLL-WINCC-PLC交互】2.wincc使用C#开发的.net控件
40 0
|
4月前
|
小程序 安全 JavaScript
.NET微信网页开发之通过UnionID机制解决多应用用户帐号统一问题
.NET微信网页开发之通过UnionID机制解决多应用用户帐号统一问题
.NET微信网页开发之通过UnionID机制解决多应用用户帐号统一问题