現在のスタック・トレース情報を取得
* System.Environment.StackTrace取得
サンプル
Console.WriteLine( System.Environment.StackTrace);
参考資料
http://www.atmarkit.co.jp/fdotnet/dotnettips/1026stacktrace/stacktrace.html呼び出し元のクラス名取得
* StackTraceのGetMethod().ReflectedType.FullNameで取得
呼び出し元のメソッド名取得
* StackTraceのGetFrame(1).GetMethod().Nameで取得
参考資料
http://gushwell.ldblog.jp/archives/50715142.html呼び出し元のライン数取得
* StackTraceのGetFrame(1).GetFileLineNumber()で取得
サンプル
System.Diagnostics.StackTrace stackTrace = new System.Diagnostics.StackTrace(true); // trueにしないとライン数がまともに表示されない Console.Write(stackTrace.GetFrame(1).GetMethod().Name); Console.WriteLine("Line : " + stackTrace.GetFrame(1).GetFileLineNumber().ToString());
参考資料
http://ja.efreedom.com/Question/1-394850/%E5%91%BC%E3%81%B2%E5%87%BA%E3%81%97%E5%85%83%E3%81%AE%E3%83%A1%E3%82%BD%E3%83%83%E3%83%88%E3%81%A6%E3%81%AFC-%E3%81%A6%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AF注意
* デバッグビルドだと使えない?(回避方法もあるみたい)
参考資料
http://csharper.blog57.fc2.com/blog-entry-234.htmlhttp://msyi303.blog130.fc2.com/blog-entry-16.html