質問: **実現したいこと** 関数の引数にvoid型関数を指定する **発生した問題** 重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態 エラー CS1536 void は無効なパラメーター型です。 ConsoleApp2 C:\Users\高橋一成\source\repos\ConsoleApp2\ConsoleApp2\Program.cs 6 アクティブ と出てくる **コード** ``` using System; namespace ConsoleApp2 { class Program { void a111(void kannsuu){} static void Main(string[] args) { Console.WriteLine("Hello World!"); } } } ```
回答: C#ではメソッド(他の言語の関数に相当)の入れ物には デリゲート を使います。 デリゲートは定義して使う必要がありますが、戻り値がないデリゲートとして Actionが既に定義されてますから通常はそれを使います。 ``` static void A111(Action action) { action(); } public static void Main(string[] args) { A111(() => Console.WriteLine("Hello World!")); } ```