public void Execute() { // // Caller Informationは、C# 5.0にて追加された機能である。 // Cの__FILE__や__LINE__と同じ要領で利用できる属性。 // 追加された属性は以下の3つ。 // CallerFilePath: ファイルパス // CallerLineNumber: 行番号 // CallerMemberName: メンバー名 // 上記の属性はメソッドの引数に指定して利用する. // // 注意点として、以下の点が存在する。 // ・引数にデフォルト値を指定していないとダメ // ・コンパイル時に解決される情報である // // コンストラクタやデストラクタなどの一部のメソッドは // 特殊な名称が設定される。(.ctor, .cctor, Finalize) // 詳細については // http://msdn.microsoft.com/en-us/library/hh534540.aspx // を参照の事。 // // 利用する場合、以下の名前空間をインポートしておくこと。 // System.Runtime.CompilerServices // var manager = new CallerInfoManager(); // // 各呼び出し時の呼び元情報を取得して表示. // Output.WriteLine(manager.Snap()); Output.WriteLine(MethodA(manager)); Output.WriteLine(MethodB(manager)); }
private CallerInfoManager MethodB(CallerInfoManager manager) { return(manager.Snap()); }
private CallerInfoManager MethodB(CallerInfoManager manager) { return manager.Snap(); }