什么意味着c#中的属性返回?

use*_*115 6 c#

我有一段这样的代码:

[return: XmlElement("return", Namespace = "", IsNullable = false, DataType = "base64Binary")]
public byte[] WORK([XmlElement(Namespace = "http://www.example.com/xml/someapi", DataType = "string", Form = XmlSchemaForm.Qualified)] string guid, [XmlElement(Namespace = "http://www.example.com/xml/someapi", DataType = "base64Binary", Form = XmlSchemaForm.Qualified)] byte[] data) {

   // some work
}
Run Code Online (Sandbox Code Playgroud)

属性return:是什么意思?

Mr *_*ose 5

我之前从未见过它,但是在“ 消除属性目标”中似乎将其描述为属性目标

封送时这种情况经常出现。为了解决歧义,C#为每种声明提供了一组默认目标,可以通过显式指定属性目标来覆盖它们。C#

// default: applies to method 
[SomeAttr] 
int Method1() { return 0; } 

// applies to method 
[method: SomeAttr] 
int Method2() { return 0; } 

// applies to return value 
[return: SomeAttr] 
int Method3() { return 0; } 
Run Code Online (Sandbox Code Playgroud)

请注意,这与将SomeAttr定义为有效的目标无关。也就是说,即使将SomeAttr定义为仅适用于返回值,也仍然必须指定返回目标。换句话说,编译器将不会使用AttributeUsage信息来解决模棱两可的属性目标。有关更多信息,请参见AttributeUsage(C#编程指南)。属性目标的语法如下:[target:attribute-list]