假設我是一次初始化一個具有許多屬性的新物件。其中之一會導致空參考例外,但是當您使用除錯器時,它會立即通過整個代碼初始化塊。有什么簡單的方法可以找到導致錯誤的屬性。請注意,物件屬性可能有多種型別,因此允許某些型別為 null。
前物件初始化
var obj = new Obj{
prop1 = x,
prop2 = y,
prop3 = f,
prop4 = r,
prop5 = h,
prop6 = k,
prop7 = w,
prop8 = l,
prop8 = m,
prop9 = e,
prop10 = a
};
這些屬性之一導致了空參考例外,但您不知道是哪一個,并且除錯器一次通過了整個塊。有沒有辦法用visual studio識別這個?
uj5u.com熱心網友回復:
在分配上設定斷點obj并打開 Locals 視窗。觀察您分配給 的屬性的變數的值obj。除此之外,除了工具提示之外,Visual Studio 本身并沒有太多內置功能可以在這方面為您提供幫助(我知道或現在可以回憶起)。
這是物件和串列初始值設定項的最大缺點。如果您要分配很多屬性,則正如您所觀察到的那樣,在初始化塊的第一行會拋出例外。這非常煩人,并且會使事情難以追蹤。
如果您有幸使用了相當先進的重構插件(如 Resharper 或 CodeRush),則應該進行重構以將物件初始值設定項轉換為直接屬性分配并再次回傳。這將允許您將物件初始值設定項轉換為屬性分配,除錯代碼以便您可以快速隔離問題陳述,解決它,然后將代碼轉換回物件初始值設定項。
uj5u.com熱心網友回復:
考慮檢查您的瀏覽器并記下哪個屬性為空。我的建議
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/366870.html
標籤:C# 视觉工作室 c#-4.0 视觉工作室2019 视觉工作室调试
上一篇:如何優雅地更新通過VisualStudio中的NuGet獲得的提升?
下一篇:npm錯誤!吉普錯誤!在安裝了VisualStudio2022Enterprise的Windows11中安裝節點sass時
