在Microsoft文档中,我注意到the following example:
[get: System.Security.SecurityCritical]
public virtual System.Windows.Media.Imaging.BitmapSource Thumbnail { get; }
请注意,目标“ get:
”已应用于该属性。
但是在他们的C# documentation中,没有这样的目标。他们只列出:
assembly, module, field, event, method, param, property, return, type
在这两个页面上我都看不到任何特定于版本的内容。
此外,C# language specification也不包含get:
(第395页)。
我还是在VS 2015的示例中尝试使用它,并且IDE报告了错误:
“获取”不是公认的属性位置。有效属性 此声明的位置为“属性”。此中的所有属性 块将被忽略。
get:
在某些情况下有效吗?他们的文档有误吗?
仅供参考,if not impossible很难在SO上搜索字符串“ get:”。我希望已经找到了答案,但这很难做到。
答案 0 :(得分:1)
我找不到与get:
目标有关的任何内容,但是可以仅在属性的get
部分或在set
和get
的不同属性上应用属性。请参见下面的示例
[AttributeUsage(AttributeTargets.Method)]
public class MyAttributeAttribute : Attribute
{
private readonly string name;
public MyAttributeAttribute(string name)
{
this.name = name;
}
}
public class Test
{
public int Value
{
[MyAttribute("Get")]get;
[MyAttribute("Set")]set;
}
}
编辑:
dotPeek
反编译器还向我显示了Thumbnail
属性,例如
public virtual BitmapSource Thumbnail
{
[SecurityCritical] get
{
所以看来get:
目标不存在