2

我已经看到,在某些情况下,我们在 c# 中使用以下语法格式,

[something]
void methodM(){

}

例子 :

[MethodImpl(MethodImplOptions.Synchronized)]
public void SomeMethod() {/* code */}

[WebMethod]
public void MyWebMethod(){/* code */}

这在编译时如何工作?

4

3 回答 3

4

解释

这些是属性注释。它们是放置它们的成员的一种元数据。

例如,使用MethodImpl属性,您可以指定如何实现方法的详细信息。并且使用WebMethod属性,您将该方法标记为 Web 服务方法。

进一步阅读:

属性(C# 编程指南)

C# 中的属性

于 2012-05-26T05:00:05.350 回答
1

[something]是一个属性。属性存储在程序集的元数据中,可以通过反射读取。库和框架经常使用它来控制行为。一些属性,如ObsoleteAttribute控制编译时行为,但大多数会影响运行时行为。您可以通过继承来创建自己的属性Attribute

于 2012-05-26T04:57:59.173 回答
0

这些是属性[something],它们是描述性标签,可用于提供有关类型(类)、成员和属性的附加信息。.NET可以使用属性来决定在应用程序运行时如何处理对象。

于 2012-05-26T05:01:45.473 回答