• C#獲取調用DLL的類名稱


    C#獲取調用DLL的類名稱
    下午 04:26 2011/2/14

    想知道是哪個類調用了這個DLL。
    在Log里需要記錄異常發生在哪個類里,看了subText是這樣寫的。
    [MethodImpl(MethodImplOptions.NoInlining)]
    private static Type GetCallerType()
    {
     return new StackFrame(2, false).GetMethod().DeclaringType;
    }

    MSDN 曰:
    - StatckFrame 用途
    提供 StackFrame 的相關資訊,表示目前執行緒的呼叫堆疊上的函式呼叫。

    - StackFrame 有四個構造函數
    名稱                               說明 
    StackFrame ()                      初始化新的 StackFrame 物件。 
    StackFrame (Boolean)               初始化新的 StackFrame 物件,可以選擇性地擷取來源資訊。 
    StackFrame (Int32)                 初始化新的 StackFrame 物件,對應至現用堆疊框架上的框架。 
    StackFrame (Int32, Boolean)    初始化新的 StackFrame 物件,對應至現用堆疊框架上的框架,可以選擇性地擷取來源資訊。 
    StackFrame (String, Int32)         初始化新的 StackFrame 物件,只包含提供的檔案名稱和行號。 
    StackFrame (String, Int32, Int32)  初始化新的 StackFrame 物件,只包含提供的檔案名稱、行號和資料行編號。 

    其中StackFrame (Int32, Boolean)參數涵義為:

    skipFrames
    要略過的堆疊上的框架數。

    fNeedFileInfo
    若要擷取檔名、行數和欄數,則為 true,否則為 false。

    學習資料
    http://lovecherry.cnblogs.com/archive/2005/04/10/135175.html
    SubText src

    多看源碼,多動手實踐

  • 相关阅读:
    锁表
    vs2010宏的应用
    Oracle:sqlplus查询出的中文是乱码问题的解决(转)
    linux下查看端口和服务的一些命令
    netsh
    xpshutdown关机命令详解
    linux系统如何察看、修改系统时间
    delphi编程中调用其他执行程序?(转)
    如何修改Oracle用户密码的诀窍(转)
    转:用Delphi实现从Excel数据Update(Insert类似)到Oracle数据库表中
  • 原文地址:https://www.cnblogs.com/htht66/p/1954457.html
Copyright © 2020-2023  润新知