以前書いた次の記事を読み返していて思ったんだけど、 目から鱗が落ちた JavaScript の即時関数パターンの使い方 - present C# でも無名関数作れるから即時関数パターンできるよね。 using System; using System.Diagnostics; namespace ImmediateFunctionSample { class Program { static readonly Func<int> GetNextId = new Func<Func<int>>(() => { var nextId = 1; return () => { return nextId++; }; })(); static readonly string OSName = new Func<string>(() => { var version = Environment.OSV