簡體   English   中英

是否可以通過反射檢查類型是否在使用塊中(調用了Dispose)

[英]Is it possible to check via reflection that type is in using block (Dispose is called)

我需要自動查找所有未正確處理的代碼。 是否可以通過反射檢查我的類型N是否在using語句(調用Dispose)內使用?

否。您可能會最接近的是添加一個終結器(可能有條件地添加它,以便僅將其包含在調試版本中),該終結器將檢查您是否已處置,否則記錄問題。 (在這種情況下,您可能想要使堆棧跟蹤構造,以便責怪正確的代碼。)

請記住,添加終結器將導致垃圾停留更長的時間-盡管在Dispose調用中您可以抑制終結器,所以正確的代碼不會產生重大損失,除了在構造過程中生成堆棧跟蹤外...

現在,所有這些都假設您想在執行執行操作。 有各種各樣的靜態分析工具(例如Visual Studio中內置代碼分析 )會在構建時告訴您是否似乎沒有適當地處理所有事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM