我有一個簡單的類叫做Api. 使用這個類,我創建了另一個名為JsonPayloadBody.
public class Api {
public string Name { get; set; }
public string Query { get; set; }
}
public class JsonPayloadBody
{
public Api Api { get; set; }
}
public void CreateOrder(Order order)
{
var oPayload = new JsonPayloadBody();
oPayload.Api.Name = "CREATE";
oPayload.Api.Query = "CREATE_ORDER";
}
現在我需要將 Name 和 Query 值設定為上述類。但是在運行我的應用程式后,我得到了以下錯誤。
Exception has occurred: CLR/System.NullReferenceException
An exception of type 'System.NullReferenceException' occurred in MHScaleInboundWebAPI.dll but was not handled in user code: 'Object reference not set to an instance of an object.'
at MHScaleInboundWebAPI.Controllers.OrderController.CreateOrder(Order order) in C:\Projects\IRM\mhscaleinboundwebapi\Controllers\OrderController.cs:line 30
我認為這是因為在創建新實體后所有類JsonPayloadBody變數值都是空的。所以我盡量用這種方式避免這個錯誤。我將值設定為空。但我仍然遇到同樣的錯誤。那么如何使用另一種方式來避免這個問題。請幫我。
public class Api {
public string? Name { get; set; }
public string? Query { get; set; }
}
uj5u.com熱心網友回復:
您認為JsonPayloadBody.Api在初始化新JsonPayloadBody實體后您的屬性為空是正確的。
要修復它,您將不得不再次執行此操作 - 初始化實體,只是這一次它應該屬于Api該類 - 并將其參考分配給該屬性,因此它將不再為空:
public void CreateOrder(Order order)
{
var oPayload = new JsonPayloadBody();
oPayload.Api = new Api(); // Here.
oPayload.Api.Name = "CREATE";
oPayload.Api.Query = "CREATE_ORDER";
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/409268.html
標籤:
上一篇:.NETCore6中的連接字串
