2013-04-14 115 views
3

在C#中,我看到上面的函数代码并想知道它的真正含义?C#中的Register关键字是什么?

[Register ("AppDelegate")] 
+7

这不是一个关键字获得更多的信息。 – BoltClock

+1

这不是关键工作,这是[属性](http://msdn.microsoft.com/en-us/library/z0w1kczw(v = vs.110).aspx)。 – MarcinJuraszek

+0

不管它是什么,只是想知道是否有人可以解释它的真正含义? – itsaboutcode

回答

7

这不是一个关键字,这是一个属性,所以你可能要上读了。该属性将被称为RegisterAttribute,我从来没有见过它。 MSDN似乎也没有承认它的存在。因此可以得出结论,它不是.NET的一部分,所以我们无法知道它的功能(除非你有其他库,在这种情况下,你应该将它们包含在你的文章中)。

它在你自己的项目中定义的另一种选择,在这种情况下,你应该右击Register,并选择“转到定义” *找到它的定义(感谢@WillemDuncan(也许你从别人那里进口的代码),这是更好的解决方案)。


*在MonoDevelop中它的 “Go to声明”

+0

谢谢。得到了一个MSDN页面,感谢@MarcinJuraszek - http://msdn.microsoft.com/en-us/library/z0w1kczw(v=vs.110).aspx – itsaboutcode

+0

@itsaboutcode这不是关于'RegisterAttribute'虽然,这是关于一般属性。 – antonijn

+1

而不是搜索名称,右键单击该属性并在上下文菜单中选择“转到定义”。 –

3

某处在你的代码搜索RegisterAttribute类。 NET不提供这个名字的任何属性,它必须是自定义代码中的某处定义attribute(上注册新闻F12,它会带你到属性的定义) -

public class RegisterAttribute : Attribute 
{ } 
3

它不是一个关键字,它是一种语法attributes

属性可以放置在几乎任何声明,但具体 属性可能限制类型上,它是 有效申报。在C#中,通过将 属性的名称指定属性,在方括号内([]),

由于.NET没有一个叫Register属性,这可能是一个自定义的属性。如果你右键点击这个属性,在"Go To Definition"之后,你可能会找到一个自定义的像;

public class Register : System.Attribute 
{ 
    private string name; 

    public Register(string name) 
    { 
     this.name = name; 
    } 
} 

您可以从Creating Custom Attributes

相关问题