コンパイラ エラー CS0592
属性 'attribute' はこの宣言型では無効です。 'type' 宣言でのみ有効です。
属性を定義する場合、AttributeTargets
値を指定してコンストラクトに適用できるものを定義します。 次の例では、AttributeUsage
属性に AttributeTargets.Interface
が指定されているため、MyAttribute
属性はインターフェイスにのみ適用できます。 属性はクラス (クラス A
) に適用されているため、エラーが生成されます。
例
次の例では CS0592 が生成されます。
// CS0592.cs
using System;
[AttributeUsage(AttributeTargets.Interface)]
public class MyAttribute : Attribute
{
}
[MyAttribute]
// Generates CS0592 because MyAttribute is not valid for a class.
public class A
{
public static void Main()
{
}
}
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示