如何使用映射访问和修改运行时类的属性

开发者在线 Builder.com.cn 更新时间:2006-08-28作者:Builder 来源:

本文关键词: c# C#

在程序使用映射之前,需要理解几个基本概念,从运行时如何访问类动态属性开始。如果没有使用过映射,这可能首先是个奇怪的概念。你可能很想知道它能完成什么功能。但是,只要你理解了它的功能并开始使用它,你会发现它不但使用方便,而且在每个应用程序中都有其用武之地。

很多开发人员都尝试使用简单的方法和封装好的程序模块,使用动态可重复利用的模块,可以节约很多时间和精力。微软为开发人员提供了很好的方法完成这项工作,它是在某种情况下,通过使用PropertyInfo对象完成的。

获得PropertyInfo对象

运行时访问数据属性时,必须使用PropertyInfo类。一个PropertyInfo实例给出类的一个属性。PropertyInfo对象描述了这种属性,并且在获得或设置属性值时,它成了代理服务器。

获得PropertyInfo对象的两个方法是:System.Type.GetPropertySystem.Type.GetPropertiesGetProperty方法返回一个PropertyInfo对象,GetProperties方法返回PropertyInfo对象的数组。下面是这两种方法基本例子:

System.Type.GetProperty

C#:

Figure A

System.Type.GetProperties

C#:

Figure B

 使用PropertyInfo对象

一旦获得PropertyInfo对象,则可以找出其所涉及的属性信息。下面列出了PropertyInfo对象中可以被访问的方法和属性

属性:

  • CanRead:如果属性包含可访问的GET存储器,则返回真值。
  • CanWrite:如果属性包含可访问的SET存储器,则返回真值。
  • Name:返回属性名称。
  • PropertyType:返回属性接受和返回的类型(Type)。

方法:

  • GetValue:获得属性值(此时CanRead必须为真值)。

Example:

Figure C

  • SetValue:设置属性值(此时CanWrit必须为真值)。

Example:

Figure D

  • GetCustomAttributes:获得自定义属性数组。

使用上面的方法和属性,能够获得很多需要访问和修改的属性信息。

用户评论

  • 用户名
  • 评论内容