这是我的函数,它将所有项目放在数据库中.
public bool getUserProjects(ref List<erpAssets>userProjects)
{
string arguments = "{\"sessionId\":\"" + m_LoggedInUser.sessionId + "\"," +
"\"assetType\":\"" + PROJECT_ASSET_TYPE_NAME + "\"" +
"}";
string response = UrlParser(METHOD_GET_ASSETS, MODULE_ADMINISTRATION, arguments); //calling the function urlParse to get the response from that page
erpAPIResponse basicResponse = JsonConvert.DeserializeObject<erpAPIResponse>(response);
if (basicResponse.success.Equals("yes"))
{
try
{
erpAssets[] Projects = JsonConvert.DeserializeObject<erpAssets[]>(basicResponse.arguments);
userProjects.AddRange(Projects);
}
catch (Exception e)
{
}
}
else return false;
return true; // sending the response back to client
}
Run Code Online (Sandbox Code Playgroud)
我的erpAsset类如下:
class erpAssets
{
public string assetId { get; set; }
public string assetSerialNo { get; set; }
public string serialNo { get; set; }
public string assetDescription { get; set; }
public string assetType { get; set; }
public string parentId { get; set; }
public string assetIsTrakable { get; set; }
public bool isTrackable { get; set; }
public bool isMovable { get; set; }
public string assetInheritsRegion { get; set; }
public string inheritsRegion { get; set; }
public string assetModel { get; set; }
public string model { get; set; }
public erpPoint[] assetRegion { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我的erpPoint类如下:
class erpPoint
{
public double X { get; set; }
public double Y { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
现在问题是我面临的是当assetRegion为null然后我得到以下异常
将值""转换为"erp.erpPoint []"类型时出错.
scenario1工作正常:{"assetId":"43711","assetSerialNo":"Sector43","assetDescription":"","assetVersion":"","assetIsMovable":"f","assetType":" Project","assetModel":"Project","parentId":"32537","assetIsTrackable":"f","assetInheritsRegion":"f","assetRegion":[{"X": - 122.69103924537,"Y ":49.105749366835},{"X": - 122.69103924537,"Y":49.119046702041},{"X": - 122.68010753619,"Y":49.119046702041},{"X": - 122.68010753619,"Y":49.105749366835}] }
这工作正常.
Scenario2:
{"assetId":"64374","assetSerialNo":"FeedLot","assetDescription":"","assetVersion":"","assetIsMovable":"t","assetType":"Project","assetModel" :"Project","parentId":"64374","assetIsTrackable":"t","assetInheritsRegion":"f","assetRegion":""}
这是我得到例外的地方.assetregion为null,现在我在设置其值时遇到异常
你有两个选择:
使用
{ get; set; }
Run Code Online (Sandbox Code Playgroud)
你不能指定一个身体.
或者你必须为getter和setter声明一个body .
另外注意double不可为空.请double?改用.
private double? x;
public double? X
{
get { return this.x; }
set
{
if (value != null)
{
this.x = value;
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |