在 C# 中,我在函数上方看到这段代码,想知道它的真正含义是什么?
[Register ("AppDelegate")]
那不是关键字,而是属性,因此您可能需要阅读它。该属性将被称为RegisterAttribute
,我以前从未见过它。MSDN 似乎也不承认它的存在。因此可以得出结论,它不是 .NET 的一部分,因此我们无法知道它的功能(除非您正在使用其他库,在这种情况下您应该将它们包含在您的帖子中)。
另一个选项是在您自己的项目中定义的(也许您从其他人那里导入了代码),在这种情况下,您应该右键单击Register
并选择“转到定义”* 以找到它的定义(感谢@WillemDuncan,这是一个更好的解决方案)。
* 在 MonoDevelop 中是“转到声明”
在您的代码中搜索 class RegisterAttribute
。.Net 不提供具有此名称的任何属性,它必须是在代码中某处定义的自定义属性F12
(按注册,它将带您到属性的定义) -
public class RegisterAttribute : Attribute
{ }
它不是关键字,它是属性的语法。
属性可以放置在大多数任何声明中,尽管特定属性可能会限制其有效的声明类型。在 C# 中,您可以通过将属性名称放在方括号 (
[]
) 中来指定属性,
由于 .NET 没有被调用的Register
属性,因此这可能是自定义属性。如果您右键单击此属性并在 之后"Go To Definition"
,您可能会找到一个自定义定义,例如;
public class Register : System.Attribute
{
private string name;
public Register(string name)
{
this.name = name;
}
}