📜  C#| Type.GetProperties()方法(1)

📅  最后修改于: 2023-12-03 14:40:29.611000             🧑  作者: Mango

C# | Type.GetProperties()方法

在 C# 中,Type.GetProperties() 方法是用于获取定义在指定类型中的所有公共属性(包括静态和实例属性)的方法。在本文中,我们将会介绍这个方法的详细信息以及在代码中如何使用它。

语法

Type.GetProperties() 方法的语法如下:

public PropertyInfo[] GetProperties();
public PropertyInfo[] GetProperties(BindingFlags bindingAttr);

其中:

  • bindingAttr(可选):指定属性的绑定标识符,用于筛选属性。如果不指定,则返回所有属性。可以使用 BindingFlags 枚举中的按位组合值来指定。
返回值

Type.GetProperties() 方法返回一个 PropertyInfo 类型的数组,其中包含定义在指定类型中的所有公共属性。如果指定了 bindingAttr 参数,则返回符合筛选标准的属性。

示例

下面是一个使用 Type.GetProperties() 方法的示例:

using System;
using System.Reflection;

class MyClass
{
    public int MyProperty1 { get; set; }
    public string MyProperty2 { get; set; }
}

class Program
{
    static void Main()
    {
        Type t = typeof(MyClass);
        PropertyInfo[] properties = t.GetProperties();
        Console.WriteLine("MyClass has {0} properties:", properties.Length);
        foreach (PropertyInfo p in properties)
        {
            Console.WriteLine("- {0}", p.Name);
        }
    }
}

输出结果:

MyClass has 2 properties:
- MyProperty1
- MyProperty2

在上面的示例中,我们定义了一个名为 MyClass 的类,并在其中声明了两个公共属性。然后我们在程序中,使用 Type.GetProperties() 方法获取 MyClass 中定义的所有属性,并对它们进行了输出。

结论

Type.GetProperties() 方法是用于获取指定类型中公共属性的方法,可以用于反射和其他一些高级编程技术。它的语法简单易懂,返回值也很容易使用,在大多数情况下都能满足我们的需求。