nasıl programlı kaynak dosya adını ve satır numarası almak için burada bir tür ya da Bir türün bir üyesi bildirildi.Kaynak dosya adı ve bir üye üyenin satır numarası nasıl alınır? ayıklama veri dosyası (PDB) mevcuttur ve <strong>System.Reflection</strong> veya başka bir benzer bir çerçeve gibi <strong>Mono.Cecil</strong> birini kullanarak olduğu göz önüne alındığında
MethodInfo methodInfo = typeof(Foo).GetMethod("SayHello");
string sourceFileName = methodInfo.GetSourceFile(); // ?? Does not exist!
int sourceLineNumber = methodInfo.GetLineNumber(); // ?? Does not exist!
: böyle bir şey yapmak nasıl
1: public class Foo
2: {
3: public string SayHello()
4: {
5: return "Hello";
6: }
7: }
Foo.cs \ Projem \:
C: Örneğin
, Diyelim ki bir derleme bu dosyayı derledik diyelim
sourceFileName "C: \ MyProject \ Foo.cs" öğesini ve sourceLineNumber 3 değerini eşittir.
Güncelleme: System.Diagnostics.StackFrame
gerçekten bu bilgi almak mümkün, ancak geçerli yürütme çağrı yığını kapsamında sadece. Bu, yöntemin önce çağrılması gerektiği anlamına gelir. Ben aynı bilgiyi almak istiyorum ama tip üyesini çağırmadan.
, gerek PDB okuyucu kullanmak daha fazla, cevabıma bakın –