首页 | 头版要闻 | 经济广角 | 消费聚焦 | 民生视点
社会 | 省内要闻 | 经济论坛 | 市场特刊 | 财富周刊
经济 | 中国经济 | 经济观察 | 家庭百科 | 网络热点
您现在的位置: 河北经济日报网 >> 网络技术 >> C >> 文章正文 站内检索
服务热线:0311-88606031
同期新稿
 
普通文章 c#中获取存储过程方法
普通文章 在Visual C#中定义和使用自己的特性
普通文章 Visual C#2005中使用正则表达式
普通文章 利用C#远程存取Access数据库
普通文章 C#动态生成树型结构的Web程序设计
普通文章 论C#变得越来越臃肿是不可避免的
普通文章 用C#监控并显示CPU状态信息
普通文章 C#中实现VB中的CreateObject方法
普通文章 使用C#创建SQL Server的存储过程
普通文章 c#数据库操作的3种典型用法
普通文章 c#调用oracle存储过程返回结果集及函数
普通文章 C#3.0 中 DLINQ 从数据库获得数据集,XLINQ从
普通文章 C程序实现汉字内码与GB码
普通文章 C#3.0 中对象初始化器(Object Initializers)和
普通文章 C#3.0 LINQ 查询语法
普通文章 C#将文件保存到数据库中或者从数据库中读取文
普通文章 C#3.0 中的扩展方法 (Extension Methods)
普通文章 C#3.0 中使用扩展方法来扩展接口
普通文章 C#3.0 中对象初始化器(Object Initializers)和
普通文章 C#与IronPython脚本进行数据交互示例
在Visual C#中定义和使用自己的特性
http://www.hbjjrb.com 2007-10-2 20:55:49 【字体: 繁体

  复杂的,面向组件的业务开发,期待现代的软件开发工程师们具备更多的弹性设计,而不是过去的方法设计。微软的.NET框架通过众所周知的声明式编程,广泛的使用特性来附加额外的功能。在软件系统里,特性可以增强系统的弹性,这是因为,特性使功能的松耦合得到了增强。所以,你可以定制自己的特性类,然后根据你自己的意图,合理的使用这些具有松耦合功效的特性。

  使用.NET框架编写Windows程序,在很多方面已经变得很简单。在许多情况下,.NET框架使用,.NET编译器在编译时绑定到程序集的元数据,.使灵活的程序设计变得更容易。事实上,对于.NET而言,使用内嵌的元数据把我们从DLL地狱解脱出来是可能的。

  值得庆幸的是,.NET框架的设计者们并没有选择把这些元数据优雅的隐藏起来。设计者们把反射API给予了我们,通过反射,一个.NET程序可以通过编程查看这个元数据。一个程序可以反射出包含在特定程序集内任意的东西,或者说是包含在其内的所有的类型和成员。

  把元数据绑定到可执行的程序集里,提供了许多优势。这使得.NET程序集,完全可以自我描述。还允许开发者跨语言共享组件,去除了头文件的需要。(这些头文件会由于相关的实现代码而过期。)

  关于.NET元数据所有积极的消息,看起来很难相信,它好像什么也没有,仅仅是个谎言。但是,它确实是存在的。在.NET里,你可以创建自己特定程序的元数据,并且可以把这些元数据应用到你可以想象到的地方。

  开发者通过使用自定义特性,可以定义他们自己特定程序的元数据。因为这些特性的值将变成另一部分元数据,绑定到一个程序集里。所以这些自定义特性的值可以被反射API检查到并且可以被使用。

  我们经常提到一个类的属性,这些属性的值可以作为特性来使用。那么属性和自定义特性真正的区别在哪里呢?

  通过这篇文章,你将学会如何定制特性,如何把特性应用到你的源代码类和方法上,以及如何使用反射API获取和使用这些特性的值。

  公共语言运行时是如何使用特性的?

  在你开始考虑如何使用你自己定义的特性类之前,让我们查看一些标准的特性,这些已经在公共语言运行时有用到。

  [WebMethod]特性提供了一个简单的例子。它可以使WebService派生的子类中任意公共的方法转化成Web Service暴露方法的一部分,而这一切,仅仅通过把[WebMethod]附加到方法的定义上就可以做到。

public class SomeWebService : System.Web.Services.WebService
{
[WebMethod]
public DataSet GetDailySales()
{
//处理请求的代码
}
}

  你只要把[WebMethod]特性添加到一个方法上,.NET就会在后台为你处理其它所有的事情。

  在给定的方法上使用[Conditional]特性,那么此方法是否可调用将取决于指定的预处理标识符是否被定义。举个例子,看如下的代码:

public class SomeClass
{
[Conditional("DEBUG")]
public void UnitTest()

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页

板块 推荐
普通文章 新能源板块:重出江湖
普通文章 谨慎对待敏感行业
普通文章 环保板块:在政策扶持下成长
普通文章 机构资金关注有色板块
普通文章 汽车板块再受关注
普通文章 新能源股:盈利和成长都重要
普通文章 银行业:未来两年成长可期 推荐5只个股
普通文章 造纸行业:步入景气周期 关注4只个股
房产 推荐
普通文章 业内人士称房产新政出台 购房需求将大降三成
普通文章 调控手段连续累积 上海二手房市出现买主悔约
普通文章 北京经济适用房只能自住 骗购经适房将严惩
普通文章 京城楼市10月份预计开盘46个 数量不足9月七
普通文章 北京石景山3900套两限房均价低于销售限价
普通文章 评论:中国房市会不会步A股后尘
普通文章 投资房产也有风险:给老丁算笔账
普通文章 公积金储蓄年贬值500亿 明天我们怎么养老购
频道精选  
焦点:  银行业30年变革:见证居民财富800倍膨胀
股票:  节后一周大盘有望上攻5700点!
社会:  51岁老汉诱骗收破烂妇女 强奸不成抢走200
主力:  一周个股、板块主力交易数据解密
经济:  央行银监会出台房贷新政
个股:  四季度盈利模式:买入正在爆发的成长蓝筹
时评:  后股改时代国有股减持并非利空
黑马:  航天机电:天威保变连续涨停后谁来接班?
读书:  望“性”兴叹 明清寡妇是如何排解寂寞的(
板块:  新能源板块:重出江湖
体育:  英超宝贝与男友暧昧戏水
基金:  每周基金组合建议:可关注高折价高分红大
军事:  美国军迷们的裸体游行
债券:  可分离债的申购收益水涨船高
时尚:  走光也动人
传闻:  据传,航天长峰注资传闻求证
娱乐:  小S自认沉迷于性爱
理财:  理财日刊:复利投资能涨3倍的股,巧把负债
数码:  黑色到货银色跳水了多普达U1000狠降2000
汽车:  前大灯存缺陷 大众将召回速腾等34万辆车
百科:  中国女性的自慰现状
房产:  业内人士称房产新政出台 购房需求将大降三

普通文章 51岁老汉诱骗收破烂妇女 强奸不成抢走200元
普通文章 黑猩猩挖地道逃离动物园 “越狱”失败遭射杀
普通文章 重庆火车站店主向民工强卖裸女扑克
普通文章 商场"亲吻汽车大赛"结束 女子连吻27小时得轿车

六种最变态的做爱方式

男人眼中最美的女人臀

莲,海容天天的最新裸体行

美女请把裙子穿好

绝对让你喷饭的超强趣图

玩高空裸体跳伞的美女

欧美欢场里的纵欲男女

少妇为何比少女更诱人
同期热点
普通文章 XFocus Windows Internet服务器安全配置
普通文章 Windows 2003 服务器设置 完全版
普通文章 Windows 2003安全设置大全-IIS、终端服务、FT
普通文章 C#事件机制归纳
普通文章 Mysql 安全注意事项
普通文章 SQL Server加密与SQL注入
普通文章 注意那些容易被忽略的SQL注入技巧
普通文章 不需xp_cmdshell支持在有注入漏洞的SQL服务器
普通文章 MySQL数据库中关于网络安全的解决方案
普通文章 如此高效通用的分页存储过程是带有sql注入漏洞
普通文章 忘记了 MySQL 的 root 密码
普通文章 SQL2000中默认sa帐号改名和删除的最安全方法
普通文章 黑客经验谈Sql server SA权限入侵的感悟
普通文章 利用ORACLE系统账户默认口令提升权限
普通文章 什么是SQL注入法攻击
普通文章 js asp c# 防止sql注入
普通文章 系统安全之SA弱口令带来的安全隐患
普通文章 MySQL服务器内部安全数据目录访问
普通文章 在MySQL数据库增加新用户权限简介
普通文章 你的MySQL安全了吗?加铸23道安全门

英超宝贝与男友暧昧戏水

英超巨胸宝贝惊人双峰
德国队2比0战胜巴西队夺得2007年女足世界杯冠军
米兰弃将禁欲冷落性感女友 爆射三炮释放存货
国产骨感宝贝刘羽琦
体育世家出美女 体育名嘴容貌靓丽魅力十足

梁家辉受伤入院否认遇袭

《太阳》遭恶搞

张学友3年狂炒菲佣21人

蔡依林秀舞姿主持人下跪

小S自认沉迷于性爱

汤唯《色•戒》全裸入

范冰冰被警察带走

中秋赏月李安崩溃痛哭

河北经济日报社版权所有 河北经济日报社网络信息部管理与维护
地址 石家庄市裕华西路186号 电话:0311-88606031
hebei82gov@yahoo.com.cn
未经许可不得转载和镜像 冀ICP备字020964号
技术支持 动易网络科技有限公司
建议使用1024x768分辨率