中間言語 (IL) 出力でフラグまたはオプションを生成するカスタム属性
これらの属性をコードに追加して、指定した中間言語 (IL) 修飾子を出力します。 これらの属性は、対応する IL 修飾子を出力に含むようにコンパイラに指示します。
これらのカスタム属性の一部は、ソース コードに属性を追加するのではなく、他の C# 構文を使用して適用されます。
属性 | コメント |
---|---|
System.Runtime.InteropServices.DefaultParameterValueAttribute | パラメーターの既定値を指定します。 の既定のパラメーター構文を使用します。 |
System.Runtime.InteropServices.InAttribute | IL [in] 修飾子を指定します。 in または ref readonly 修飾子を使用します。 |
System.Runtime.InteropServices.OutAttribute | IL [out] 修飾子を指定します。 out 修飾子を使用します。 |
System.Runtime.CompilerServices.SpecialNameAttribute | IL specialname 修飾子を指定します。 コンパイラは、必要なメソッドに対してこの修飾子を自動的に追加します。 |
System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute | この属性は delegate* 機能に必要です。 コンパイラは、その使用を必要とする任意の delegate* に追加します。 ただし、そのメソッドが関数ポインターに割り当てられている場合は、この属性を任意のメソッド宣言に追加する必要があります。 |
C# ソースでは、通常、次の属性は許可されていません。 リフレクションを使用するライブラリ作成者を支援し、同じ完全修飾名を持つカスタム属性を作成しないようにするために、ここに記載されています。
さらに、このコンパイラは、内部的に使用される他の属性の宣言を生成できます。 コンパイラは、独自に使用するために、System.Runtime.CompilerServices 名前空間にこれらの属性を生成します。 一部は .NET ランタイム ライブラリに含まれません。 代わりに、コンパイラは、属性が必要なアセンブリ内の internal
型宣言の定義を合成します。
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET