如何在 C# 中使用 PropertyInfo

avatar
作者
筋斗云
阅读量:0

在C#中,使用PropertyInfo可以访问和操作类的属性。以下是使用PropertyInfo的一些基本示例:

  1. 获取属性的值:
using System; using System.Reflection;  class MyClass {     public int MyProperty { get; set; } }  class Program {     static void Main()     {         MyClass obj = new MyClass();         obj.MyProperty = 10;          PropertyInfo propertyInfo = typeof(MyClass).GetProperty("MyProperty");         int value = (int)propertyInfo.GetValue(obj);          Console.WriteLine(value); // 输出 10     } } 
  1. 设置属性的值:
using System; using System.Reflection;  class MyClass {     public int MyProperty { get; set; } }  class Program {     static void Main()     {         MyClass obj = new MyClass();          PropertyInfo propertyInfo = typeof(MyClass).GetProperty("MyProperty");         propertyInfo.SetValue(obj, 20);          Console.WriteLine(obj.MyProperty); // 输出 20     } } 
  1. 获取属性的特性:
using System; using System.Reflection;  [AttributeUsage(AttributeTargets.Property)] class CustomAttribute : Attribute {     public string Description { get; }      public CustomAttribute(string description)     {         Description = description;     } }  class MyClass {     [Custom("This is a custom attribute")]     public int MyProperty { get; set; } }  class Program {     static void Main()     {         PropertyInfo propertyInfo = typeof(MyClass).GetProperty("MyProperty");         CustomAttribute customAttribute = (CustomAttribute)propertyInfo.GetCustomAttribute(typeof(CustomAttribute));          Console.WriteLine(customAttribute.Description); // 输出 "This is a custom attribute"     } } 

通过使用PropertyInfo,您可以更灵活地访问和操作类的属性,从而实现更高级的功能和逻辑。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!