自定义与非自定义属性?

Jez*_*Jez 8 .net c# custom-attributes

实现ICustomAttributeProvider接口的东西将允许您获取已通过该GetCustomAttributes方法应用于它的自定义属性.据我所知,自定义属性基本上是一个特殊的类(以"属性"结尾并扩展Attribute类),它是使用适当的语法([FooAttribute]在方法/类/等之前)应用于类似方法或类的类.例如,在C#中.但如果这是一个自定义属性,那么什么是非自定义属性?我曾经认为与.NET捆绑在一起的属性是非自定义的,但是GetCustomAttributes甚至会返回我的属性System.ThreadStaticAttribute,这些属性是.NET框架的核心.

是否存在非自定义属性,或者"自定义属性"只是一个重言式?

Jay*_*Jay 6

源自的一切都是Attribute自定义属性.

"属性"是一个通用术语.现实世界中的物体具有无数的属性.类,成员和参数都具有我们可以描述的属性 - 名称,类型,访问者,成员数,继承信息等.

自定义属性是我们的东西钉在 -我们想关联,用来描述方面,但不是本质.


Jep*_*sen 2

我不知道以下是否有任何相关性,但如果你说

var a = typeof(string).Attributes;
Run Code Online (Sandbox Code Playgroud)

您将获得一个名为 的标志枚举类型的值TypeAttributes。也许这些标志是该类型的“非自定义”属性?