3

C# では、関数の上にこのコードが表示され、それが実際に何を意味するのか疑問に思っています。

[Register ("AppDelegate")]
4

3 に答える 3

7

それはキーワードではなく、属性なので、それについて読みたいと思うかもしれません。属性は と呼ばれますがRegisterAttribute、これまで見たことがありません。MSDN もその存在を認めていないようです。したがって、それは .NET の一部ではないと結論付けることができるため、その機能を知ることはできません (使用している他のライブラリがない限り、投稿に含める必要があります)。

独自のプロジェクトで定義されている別のオプション (おそらく他の誰かからコードをインポートした)。その場合は、右クリックしRegisterて [定義に移動]* を選択して、その定義を見つける必要があります (@WillemDuncan に感謝します。より良い解決策です)。


* MonoDevelop では「宣言に移動」です

于 2013-04-14T08:40:51.757 に答える
3

これはキーワードではなく、属性の構文です。

属性は、ほとんどすべての宣言に配置できますが、特定の属性によって、それが有効な宣言のタイプが制限される場合があります。[]C# では、角かっこ ( ) で囲まれた属性の名前を配置して、属性を指定します。

.NET には呼び出された属性がないためRegister、これはおそらくカスタム定義の属性です。この属性を右クリックして の後"Go To Definition"にすると、おそらく次のようなカスタム定義が見つかるでしょう。

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

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

からより多くの情報を得ることができます。Creating Custom Attributes

于 2013-04-14T08:42:22.653 に答える
3

コードのどこかで class を検索してくださいRegisterAttribute。.Net はこの名前の属性を提供しません。コードのどこかで定義されたカスタム属性でなければなりません([登録] を押すF12と、属性の定義に移動します) -

public class RegisterAttribute : Attribute
{ }
于 2013-04-14T08:42:15.560 に答える