如何获取C#属性中的Description值
时间: 2023-08-10 08:05:39 浏览: 131
要获取C#属性中的Description值,同样需要使用反射。具体步骤如下:
1. 引入System.Reflection命名空间。
2. 使用Type类的GetProperty方法获取属性对象。
3. 使用PropertyInfo类的GetCustomAttribute方法获取属性的Description特性对象。
4. 调用Description特性对象的Description属性即可获取Description值。
下面是示例代码:
```csharp
using System;
using System.ComponentModel;
using System.Reflection;
public class ExampleClass
{
[Description("这是一个示例属性")]
public string ExampleProperty { get; set; }
// 其他属性或成员定义
}
class Program
{
static void Main(string[] args)
{
Type type = typeof(ExampleClass);
PropertyInfo propInfo = type.GetProperty("ExampleProperty");
DescriptionAttribute descAttr = (DescriptionAttribute)propInfo.GetCustomAttribute(typeof(DescriptionAttribute), false);
string desc = descAttr.Description;
Console.WriteLine(desc); // 输出:这是一个示例属性
}
}
```
注意,这里要求属性必须具有Description特性,并且不存在重复的Description特性。如果属性没有Description特性,或者存在多个Description特性,上述代码会抛出异常。可以根据需要进行异常处理。
阅读全文