C# は、操作と管理に便利なクラスとメソッドを多数提供するオブジェクト指向プログラミング言語です。オブジェクトのプロパティ。 PropertyInfo クラスは、クラスのプロパティを取得および操作するために使用される .NET Framework の特別なクラスです。この記事では、PropertyInfo クラスの使用法を詳細に説明し、サンプル コードを通じてその使用法を示します。
PropertyInfo クラスは System.Reflection 名前空間の下にあり、抽象クラスです。これは、クラス属性情報を取得および操作するための一連のメソッドとプロパティを提供します。 PropertyInfo クラスを通じて、プロパティの名前、タイプ、アクセス権、およびその他の情報を取得し、リフレクション メカニズムを通じてプロパティの値を動的に読み書きできます。
簡単な例を通じて、PropertyInfo クラスの使用法を紹介します。 name と age の 2 つの属性を含む Person クラスがあるとします。
public class Person { public string Name { get; set; } public int Age { get; set; } }
using System.Reflection;
Type type = typeof(Person); PropertyInfo[] properties = type.GetProperties();
次に、配列を走査して各属性の名前と型を取得します。サンプル コードは次のとおりです。
foreach (PropertyInfo property in properties) { string name = property.Name; Type propertyType = property.PropertyType; Console.WriteLine("属性名称:{0},属性类型:{1}", name, propertyType); }
PropertyInfo クラスは、プロパティの名前と型を取得するだけでなく、プロパティの値を動的に読み取りおよび書き込みするための GetValue メソッドと SetValue メソッドも提供します。
Person person = new Person() { Name = "张三", Age = 25 };
PropertyInfo nameProperty = type.GetProperty("Name"); string nameValue = nameProperty.GetValue(person) as string; PropertyInfo ageProperty = type.GetProperty("Age"); int ageValue = (int)ageProperty.GetValue(person); Console.WriteLine("姓名:{0},年龄:{1}", nameValue, ageValue); nameProperty.SetValue(person, "李四"); ageProperty.SetValue(person, 30); Console.WriteLine("姓名:{0},年龄:{1}", person.Name, person.Age);
PropertyInfo クラスは、プロパティ情報の取得と操作に使用される C# の重要なクラスの 1 つです。 PropertyInfo クラスを使用すると、プロパティの名前、タイプ、アクセス権を簡単に取得でき、リフレクション メカニズムを通じてプロパティの値を動的に読み書きできます。実際の開発では、PropertyInfo クラスを柔軟に使用することで、オブジェクトのプロパティをより適切に操作し、プログラミングの効率と柔軟性を向上させることができます。
以上がC# の PropertyInfo クラスを詳しく見てみるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。