トップ回答者
アンマネージコードのコードアクセス許可について

質問
-
回答
-
具体的なことはここに書かれています。
C# 言語の仕様 17.2 属性の指定
まず、Attribute サフィクスの有無についてはそのまま記述がありますね。
() の有無は、細かい定義を見ていかないと導けませんが、
- attribute:
- attribute-name attribute-argumentsopt
- attribute-arguments:
- ( positional-argument-listopt )
( positional-argument-list , named-argument-list )
( named-argument-list )
属性名の後ろ、その属性に引数が必要なければ attribute-arguments 自体を省略可能です。この場合、属性名だけの指定になります。
また、省略しない場合、( ) は必須ですが、その中身の positional-argument-list や named-argument-list は省略可能です。この場合、名前の後ろに () だけ付くことになります。
なお、positional-argument-list は名前なし引数(のリスト)のことで、その属性クラスのコンストラクタ引数に渡されます。
named-argument-list は名前付き引数(のリスト)で、その属性クラスのフィールドやプロパティに割り当てられます。
// オンラインで言語仕様を調べにくくて困るなぁ。
すべての返信
-
具体的なことはここに書かれています。
C# 言語の仕様 17.2 属性の指定
まず、Attribute サフィクスの有無についてはそのまま記述がありますね。
() の有無は、細かい定義を見ていかないと導けませんが、
- attribute:
- attribute-name attribute-argumentsopt
- attribute-arguments:
- ( positional-argument-listopt )
( positional-argument-list , named-argument-list )
( named-argument-list )
属性名の後ろ、その属性に引数が必要なければ attribute-arguments 自体を省略可能です。この場合、属性名だけの指定になります。
また、省略しない場合、( ) は必須ですが、その中身の positional-argument-list や named-argument-list は省略可能です。この場合、名前の後ろに () だけ付くことになります。
なお、positional-argument-list は名前なし引数(のリスト)のことで、その属性クラスのコンストラクタ引数に渡されます。
named-argument-list は名前付き引数(のリスト)で、その属性クラスのフィールドやプロパティに割り当てられます。
// オンラインで言語仕様を調べにくくて困るなぁ。