大家好,又见面了,我是你们的朋友全栈君。
.NET Framework 2.0
其他版本
提供类上的属性的抽象化。
命名空间:System.ComponentModel 程序集:System(在 system.dll 中)
语法
C#
C
VB
代码语言:javascript复制[ComVisibleAttribute(true)]
public abstract class PropertyDescriptor : MemberDescriptor
J#
代码语言:javascript复制/** @attribute ComVisibleAttribute(true) */
public abstract class PropertyDescriptor extends MemberDescriptor
JScript
代码语言:javascript复制ComVisibleAttribute(true)
public abstract class PropertyDescriptor extends MemberDescriptor
备注
属性的说明由名称、其特性、与该属性关联的组件类和该属性的类型组成。
PropertyDescriptor 提供以下属性和方法:
- Converter 包含此属性的 TypeConverter。
- IsLocalizable 指示该属性是否应该本地化。
- GetEditor 返回指定类型的编辑器。
PropertyDescriptor 还提供以下 abstract 属性和方法:
- ComponentType 包含该属性绑定到的组件的类型。
- IsReadOnly 指示该属性是否是只读的。
- PropertyType 获取属性的类型。
- CanResetValue 指示重置组件是否会更改该组件的值。
- GetValue 返回组件上属性的当前值。
- ResetValue 重置组件属性的值。
- SetValue 将组件的值设置为一个不同的值。
- ShouldSerializeValue 指示是否需要持久保存该属性的值。
通常,abstract 成员是通过反射实现的。有关反射的更多信息,请参见 反射 中的主题。
注意 |
---|
应用于此类的 HostProtectionAttribute 属性 (Attribute) 具有以下 Resources 属性 (Property) 值:SharedState。HostProtectionAttribute 不影响桌面应用程序(桌面应用程序一般通过双击图标,键入命令或在浏览器中输入 URL 启动)。有关更多信息,请参见 HostProtectionAttribute 类或 SQL Server 编程和宿主保护属性。 |
示例
下面的代码示例是基于 PropertyDescriptorCollection 类中的示例生成的。该示例输出文本框中某个按钮的文本信息(类别、说明、显示名称)。它假定已在窗体上实例化 button1 和 textbox1。
C#
C
VB
代码语言:javascript复制// Creates a new collection and assign it the properties for button1.
PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(button1);
// Sets an PropertyDescriptor to the specific property.
System.ComponentModel.PropertyDescriptor myProperty = properties.Find("Text", false);
// Prints the property and the property description.
textBox1.Text = myProperty.DisplayName 'n' ;
textBox1.Text = myProperty.Description 'n';
textBox1.Text = myProperty.Category 'n';
J#
代码语言:javascript复制// Creates a new collection and assign it the properties for button1.
PropertyDescriptorCollection properties =
TypeDescriptor.GetProperties(button1);
// Sets an PropertyDescriptor to the specific property.
System.ComponentModel.PropertyDescriptor myProperty =
properties.Find("Text", false);
// Prints the property and the property description.
textBox1.set_Text(myProperty.get_DisplayName() 'n');
textBox1.set_Text(textBox1.get_Text() myProperty.get_Description()
'n');
textBox1.set_Text(textBox1.get_Text() myProperty.get_Category()
'n');
继承层次结构
System.Object System.ComponentModel.MemberDescriptor System.ComponentModel.PropertyDescriptor System.ComponentModel.TypeConverter.SimplePropertyDescriptor
线程安全
此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。
平台
Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition
.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
版本信息
.NET Framework
受以下版本支持:2.0、1.1、1.0
.NET Compact Framework
受以下版本支持:2.0、1.0
请参见
参考
PropertyDescriptor 成员 System.ComponentModel 命名空间 MemberDescriptor 类 Attribute DefaultValueAttribute 类
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/186974.html原文链接:https://javaforall.cn