メイン フォームがサブスクライブできるイベントを作成しようとしています。このクラスは最終的に大きくなります。これは、Windows イベント ビューアーに情報/警告/エラー情報を表示するためのものですが (その部分はまだ実行していません)、フォーム情報にも送信します。私は多くの場所でイベントを使用してきましたが、静的クラスでイベントを作成しようとするのはこれが初めてです。問題があるとは思いませんでしたが、「raiseEventtoForm: 静的クラス内でインスタンス メンバーを宣言できません」というエラーが表示されます。
私のメンバーはすべて静的です。なぜこれが起こっているのかわかりません。
静的クラスでイベントを生成することはできませんか? 許可されていないことを示すものは何も見つかりません。
編集: static キーワードを持たないようにデリゲートを更新しました。
public static class HABLAEvents
{
public delegate void RaiseMessageEvent(string message, Color foreColor, Color backColor);
public static event RaiseMessageEvent trigger = delegate { };
public static void MessageEvent(string message, Color foreColor, Color backColor) { trigger(message, foreColor, backColor); }
public static void raiseEventtoForm(string message, Color fc, Color bc)
{
MessageEvent(message, fc, bc);
}
}
編集:同じエラー「静的クラス内でインスタンスメンバーを宣言できません」は、トリガーとMessageEventにも存在します