PropertyDescriptorCollection 类

表示 PropertyDescriptor 对象的集合。

**命名空间:**System.ComponentModel
**程序集:**System(在 system.dll 中)

语法

声明
Public Class PropertyDescriptorCollection
    Implements IList, IDictionary, ICollection, IEnumerable
用法
Dim instance As PropertyDescriptorCollection
public class PropertyDescriptorCollection : IList, IDictionary, ICollection, 
    IEnumerable
public ref class PropertyDescriptorCollection : IList, IDictionary, ICollection, 
    IEnumerable
public class PropertyDescriptorCollection implements IList, IDictionary, 
    ICollection, IEnumerable
public class PropertyDescriptorCollection implements IList, IDictionary, 
    ICollection, IEnumerable

备注

PropertyDescriptorCollection 是只读的;它不实现添加或移除属性的方法。必须从此类继承以实现这些方法。

使用在 PropertyDescriptorCollection 类中可用的属性,可以对集合内容进行查询。使用 Count 属性确定集合中的元素数。使用 Item 属性按索引号或按名称获取特定属性。

除了属性外,您可以使用 Find 方法来获取集合中具有指定名称的属性的说明。

提示

应用于此类的 HostProtectionAttribute 属性 (Attribute) 具有以下 Resources 属性 (Property) 值:SynchronizationHostProtectionAttribute 不影响桌面应用程序(桌面应用程序一般通过双击图标,键入命令或在浏览器中输入 URL 启动)。有关更多信息,请参见 HostProtectionAttribute 类或 SQL Server 编程和宿主保护属性

示例

下面的代码示例使用 button1 上的属性创建新的 PropertyDescriptorCollection。它要求已在窗体上实例化 button1

Dim properties As PropertyDescriptorCollection = TypeDescriptor.GetProperties(button1)
PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(button1);
PropertyDescriptorCollection^ properties = TypeDescriptor::GetProperties( button1 );
PropertyDescriptorCollection properties = 
    TypeDescriptor.GetProperties(button1);

下一个示例在文本框中输出按钮上的所有属性。它要求已在窗体上实例化 button1textBox1

Private Sub MyPropertyCollection()
    ' Creates a new collection and assign it the properties for button1.
    Dim properties As PropertyDescriptorCollection = TypeDescriptor.GetProperties(button1)
    
    ' Displays each property in the collection in a text box.
    Dim myProperty As PropertyDescriptor
    For Each myProperty In  properties
        textBox1.Text &= myProperty.Name & ControlChars.Cr
    Next myProperty
End Sub 'MyPropertyCollection 
private void MyPropertyCollection() {
    // Creates a new collection and assign it the properties for button1.
    PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(button1);
 
    // Displays each property in the collection in a text box.
    foreach (PropertyDescriptor myProperty in properties)
       textBox1.Text += myProperty.Name + '\n';
 }
private:
   void MyPropertyCollection()
   {
      // Creates a new collection and assign it the properties for button1.
      PropertyDescriptorCollection^ properties = TypeDescriptor::GetProperties( button1 );
      
      // Displays each property in the collection in a text box.
      for each ( PropertyDescriptor^ myProperty in properties )
      {
         textBox1->Text = String::Concat( textBox1->Text, myProperty->Name, "\n" );
      }
   }
private void MyPropertyCollection()
{
    // Creates a new collection and assign it the properties for button1.
    PropertyDescriptorCollection properties = 
        TypeDescriptor.GetProperties(button1);

    // Displays each property in the collection in a text box.
    for (int iCtr = 0; iCtr < properties.get_Count(); iCtr++) {
        PropertyDescriptor myProperty = properties.get_Item(iCtr);
        textBox1.set_Text(myProperty.get_Name() + '\n');
    }
} //MyPropertyCollection

继承层次结构

System.Object
  System.ComponentModel.PropertyDescriptorCollection

线程安全

此类型的任何公共静态(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

请参见

参考

PropertyDescriptorCollection 成员
System.ComponentModel 命名空间
PropertyDescriptor 类
TypeDescriptor