亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C#類是否知道實例化了哪個文件?

C#類是否知道實例化了哪個文件?

C#
九州編程 2021-04-26 12:14:09
是否有可能告訴哪個文件在C#中實例化了一個類?例如,如果我有Page1.cs和Page2.cs,myclass.cs中的構造函數可以知道哪個頁面從中創建了對象嗎?
查看完整描述

3 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

一個班級可以通過檢查構造期間的堆棧跟蹤來了解哪個班級實例化了它。因此,例如,如果要將其添加到類的構造函數中:

var creator = new StackTrace().GetFrame(1).GetMethod().DeclaringType.FullName;

...您將了解調用的代碼的位置new。位置與班級名稱相同。您當然可以檢查聲明類型的屬性,以了解程序集名稱,位置等。

請記住,如果您鏈接了構造函數,則必須將堆??蚣茏叩酶h。同樣,這對于通過反序列化創建的任何對象均無效。


查看完整回答
反對 回復 2021-05-08
  • 3 回答
  • 0 關注
  • 153 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號