[StringFormatMethod("message")]
            public void ShowError(string message, params object[] args) { /* do something */ }
            public void Foo() {
              ShowError("Failed: {0}"); // Warning: Non-existing argument in format string
            }
            Primary purpose of this method is to allow us to parse and load configuration sections using the same API regardless of the .NET framework version.
See also
            Log.Debug( m=>m("result is {0}", random.NextDouble()) );
            Log.Debug(delegate(m) { m("result is {0}", random.NextDouble()); });