📅  最后修改于: 2023-12-03 14:40:29.611000             🧑  作者: Mango
在 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() 方法是用于获取指定类型中公共属性的方法,可以用于反射和其他一些高级编程技术。它的语法简单易懂,返回值也很容易使用,在大多数情况下都能满足我们的需求。