- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我已经阅读了一些关于 Design-Time Attributes for Components 的内容.在那里我找到了一个名为 CategoryAttribute 的属性.在那个页面上它说
The CategoryAttribute class defines the following common categories:
然后列出了一些常见的类别。其中之一是例如 Appearance .我想,太棒了!然后我可以使用 [Category.Appearance]
而不是 [Category("Appearance")]
!但显然我不能?试图编写它,但 Intellisense 不会拾取它,也不会编译。我在这里错过了什么吗?这些属性可能不是这个吗?如果不是,它们的用途是什么?如果是,我该如何使用它们?
是的,我确实有正确的使用
来访问CategoryAttribute
,因为[Category("Whatever")]
做工作。我只是想知道如何使用那些已定义的公共(public)类别。
最佳答案
正如您在 MSDN 上看到的那样,它只是一个 getter 属性,而不是 setter。
public static CategoryAttribute Appearance { get; }
事实上,下面是使用 Reflector 的代码:
public static CategoryAttribute Appearance
{
get
{
if (appearance == null)
{
appearance = new CategoryAttribute("Appearance");
}
return appearance;
}
}
所以它并没有做很多事情。
我能看到的唯一用途是这样的:
foreach (CategoryAttribute attrib in prop.GetCustomAttributes(typeof(CategoryAttribute), false))
{
bool result = attrib.Equals(CategoryAttribute.Appearance);
}
基本上,在使用反射查看类时,您可以轻松地检查出它属于哪个类别,而无需进行 String 比较。但不幸的是,你不能以你想要的方式使用它。
关于C#:如何使用 CategoryAttribute.Appearance 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/614951/
C#.net 2008 我正在处理一个包含大约 8 个序列化类别的数百个属性的类文件。目前它看起来像这样: [CategoryAttribute("Group1")] public string pr
我已经阅读了一些关于 Design-Time Attributes for Components 的内容.在那里我找到了一个名为 CategoryAttribute 的属性.在那个页面上它说 The
我想知道是否可以创建自定义 NUnit 属性,该属性将作为 CategoryAttribute 同时作为 TestAttribute。 NUnit documentation - Test Attri
我是一名优秀的程序员,十分优秀!