我有一段这样的代码:
[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:是什么意思?
我之前从未见过它,但是在“ 消除属性目标”中似乎将其描述为属性目标
封送时这种情况经常出现。为了解决歧义,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]
| 归档时间: |
|
| 查看次数: |
360 次 |
| 最近记录: |