デバッグデータファイルが利用可能(PDB)であり、System.ReflectionまたはMono.Cecilなどの別の同様のフレームワークを使用することを考慮して、タイプまたはタイプのメンバーが存在するソースファイル名と行番号をプログラムで取得する方法宣言しました。
たとえば、このファイルをアセンブリにコンパイルしたとします。
C:\ MyProject \ Foo.cs
1:    public class Foo
2:    {
3:       public string SayHello()
4:       {
5:           return "Hello";
6:       }
7:    }
次のようなことを行う方法:
MethodInfo methodInfo = typeof(Foo).GetMethod("SayHello");
string sourceFileName = methodInfo.GetSourceFile(); // ?? Does not exist!
int sourceLineNumber = methodInfo.GetLineNumber(); // ?? Does not exist!
sourceFileNameには「C:\ MyProject \ Foo.cs」が含まれ、sourceLineNumberは3に等しくなります。
更新:System.Diagnostics.StackFrame確かにその情報を取得できますが、現在実行中の呼び出しスタックの範囲内でのみです。これは、メソッドを最初に呼び出す必要があることを意味します。同じ情報を取得したいのですが、タイプメンバーを呼び出さないでください。