コンパイラ エラー CS1618
'method' は条件付き属性なので、この属性でデリゲートを作成できません
一部のビルドにメソッドが存在しない可能性があるため、条件付きメソッドを使用してデリゲートを作成することはできません。
次の例では CS1618 が生成されます。
// CS1618.cs
using System;
using System.Diagnostics;
delegate void del();
class MakeAnError {
public static void Main() {
del d = new del(ConditionalMethod); // CS1618
// Invalid because on builds where DEBUG is not set,
// there will be no "ConditionalMethod".
}
// To fix the error, remove the next line:
[Conditional("DEBUG")]
public static void ConditionalMethod()
{
Console.WriteLine("Do something only in debug");
}
}
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。