.NET 技术FAQ(六)-----属性

原创 2004年09月08日 15:41:00

6. 属性
6.1 什么是属性?
最少有两种类型的 .NET 属性。第一类我称其为 metadata 属性—它允许将某些数据附加到类或方法上。这些数据称为类的 metadata 的一部分,并且可以像类的其它 metadata 一样通过映射来访问。metadata 的另一种属性是 [serializable],将它附加到类上表示类的实例可以被串行化。
[serializable] public class CTest {}
另一种类型的属性是上下文属性。上下文类型的属性使用和 metadata 相似的语法,但实际上它们是不同的。上下文类型属性提供一种解释机制,通过这种机制,实例的活动和方法调用可以是预先处理和/或随后处理的。如果你了解 Keith Brown 的通用委托器你可能熟悉这种思想。
 
6.2 我能创建自己的 metadata 属性吗?
是的。简单地从 System.Attribute 导出一个类并将其标记为 AttributeUsage 属性。例如:
[AttributeUsage(AttributeTargets.Class)]
public class InspiredByAttribute : System.Attribute
{
 public string InspiredBy;

 public InspiredByAttribute( string inspiredBy )
 {
  InspiredBy = inspiredBy;
 }
}


[InspiredBy("Andy Mc's brilliant .NET FAQ")]
class CTest
{
}
class CApp
{
 public static void Main()
 {
             object[] atts = typeof(CTest).GetCustomAttributes();
             foreach( object att in atts )
             if( att is InspiredByAttribute )
              Console.WriteLine( "Class CTest was inspired by {0}", _
     ((InspiredByAttribute)att).InspiredBy  );
 }
}
 

组合语言之艺术8

附录二    程式语言效率分析    以下为利用ASSEMBLY,BASIC,PASCAL,C,FORTRAN 等程式语言,将一个24x 24之点阵字形,放大成为48x 48,并分别比较其处理速度、占...
  • dot99
  • dot99
  • 2001-08-04 22:32:00
  • 730

新版FAQ的设计

准备不变的地方:1、仍然是已经解帖的帖子才可以整理FAQ;2、仍然是任何人都可以提交、整理FAQ。3、只有审核通过的FAQ,才可以阅读。4、未审核通过的FAQ,FAQ管理者和提交者可以对FAQ进行修改...
  • ghj1976
  • ghj1976
  • 2005-09-26 16:53:00
  • 1985

[FAQ17700]cct2.0 常见问题总结

反馈issue请提交log: cct2.0安装路径下的CCT_Debug.log。操作cct时的kernel log 和android log。   Case1. 点击cct.exe...
  • u011677209
  • u011677209
  • 2017-02-09 15:13:32
  • 621

我的FAQ

linux:无需重新启动即可让配置生效:source /etc/profile     为何把export PATH放在/etc/rc.local中不生效,而放在/etc/profile就可以?...
  • fbysss
  • fbysss
  • 2005-03-24 17:31:00
  • 905

基于语句相似度计算的<em>FAQ</em>自动回复系统设计与实现

下载 &gt; 课程资源 &gt; 专业指导 &gt; 基于语句相似度计算的<em>FAQ</em>自动回复系统设计与实现 基于语句相似度计算的<em>FAQ</em>自动回复系统设计与实现 2008-07-19 上传大小:<em>236</em>KB <em>FAQ</em>...
  • 2018年03月24日 00:00

新版FAQ的变化——阅读FAQ的变化

FAQ 的阅读将需要花费可用分。用户在阅读一篇FAQ的时候,需要花费2分可用分,之后再次阅读不需要花费分数。用户在阅读这篇FAQ后,可以对这篇FAQ评价,评价它是否对自己有用,评价完成后,系统返回用户...
  • ghj1976
  • ghj1976
  • 2005-09-27 14:56:00
  • 1588

FAQ07470][Contacts Data]在手机中预置联系人/Service Number

[DESCRIPTION] 预置联系人/Service Number 此方法比较适合预置联系人的数目不是特别多的情况 联系人比较多的情况,请参考:FAQ12935 预置联系人之Vcard预置...
  • wds1181977
  • wds1181977
  • 2016-03-03 14:48:55
  • 437

[FAQ13941]如何分析kernel panic?

FAQs 20 of 127 User版本开机异常/无法开机,如何抓取log 如何在User版本开启串口(Uart),抓取上层Log,开启输入控制台 ...
  • u011677209
  • u011677209
  • 2016-09-22 18:03:58
  • 258

《COM技术内幕》FAQ

2002年12月26日 09:28:00 《COM技术内幕》FAQ sunshineormer@msn.com 读书问题一:第11章,分发接口与自动化P231"自动化在许多不同的方面用开发人...
  • huangkelong
  • huangkelong
  • 2007-10-28 15:44:00
  • 178

系统引导管理器GRUB

系统引导管理器GRUB作者:北南南北 来自:LinuxSir.Org 摘要: GRUB是多系统引导管理器,简单的说既能引导Linux,同时也能引导Windows;从LinuxSir.Org 讨论区近四...
  • casularm
  • casularm
  • 2006-12-08 17:57:00
  • 1941
收藏助手
不良信息举报
您举报文章:.NET 技术FAQ(六)-----属性
举报原因:
原因补充:

(最多只允许输入30个字)