我需要在方法中檢測其調用者是否具有對組件的內部訪問權限。也就是說,如果它是a)在同一個程序集中的代碼或b)與我的程序集有一個InternalsVisibleTo關係。理想情況下,支票應該很快。檢測調用者是否可以訪問我的組件內部件
我有什麼選擇?
更新: 如果對於問題的第一部分有一個很好的解決方案,我也會部分滿意。
我需要在方法中檢測其調用者是否具有對組件的內部訪問權限。也就是說,如果它是a)在同一個程序集中的代碼或b)與我的程序集有一個InternalsVisibleTo關係。理想情況下,支票應該很快。檢測調用者是否可以訪問我的組件內部件
我有什麼選擇?
更新: 如果對於問題的第一部分有一個很好的解決方案,我也會部分滿意。
查找到System.Diagnostics.StackTrace
System.Diagnostics.StackTrace st = new StackTrace();
MethodBase mb = st.GetFrame(1).GetMethod();
Assembly a = mb.DeclaringType.Assembly;
一)只是當前裝配比作
B)我認爲你應該能夠挑選出InternalsVisibleTo上裝配屬性
你在什麼樣的地獄? – 2010-11-11 23:15:18
該方法是公開的嗎? – x0n 2010-11-11 23:20:18
我提供了一個答案 - 但出於興趣,你可以解釋爲什麼你想這樣做?一般來說,也許有更好的解決方案。 – 2010-11-11 23:25:09