动态设置attribute 动态设置特性、动态设置C#前的方括号[]

代码:

 1 using System;
 2 using System.ComponentModel;
 3 using System.Linq;
 4 [Category("nice")]
 5 class Foo {  }
 6 static class Program
 7 {
 8     static void Main()
 9     {
10         var ca = TypeDescriptor.GetAttributes(typeof(Foo))
11               .OfType<CategoryAttribute>().FirstOrDefault();
12         Console.WriteLine(ca.Category); // <=== nice
13         TypeDescriptor.AddAttributes(typeof(Foo),new CategoryAttribute("naughty"));
14         ca = TypeDescriptor.GetAttributes(typeof(Foo))
15               .OfType<CategoryAttribute>().FirstOrDefault();
16         Console.WriteLine(ca.Category); // <=== naughty
17     }
18 }

 

posted @ 2022-03-21 14:21  博二爷  阅读(473)  评论(0编辑  收藏  举报