gpt4 book ai didi

C#:如何使用 CategoryAttribute.Appearance 属性

转载 作者:太空狗 更新时间:2023-10-30 00:59:22 25 4
gpt4 key购买 nike

我已经阅读了一些关于 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com