我有這個類:無法記錄添加到列表中的對象傳遞給方法
Public class Error
{
public string ErrorMessage { get; set; }
}
public class Test
{
public int Id { get; set; }
public Import ImportResult { get; set; }
public List<Error> Errors { get; set; }
public void Start(object data)
{
object[] obj = data as object[];
string[] importList = { "Item1", "Item2", "Item3", "Item4" };
foreach (var item in importList)
{
object[] obj1 = new object[2];
obj1[0] = item;
obj1[1] = Errors;
this.ImportResult = new Import();
this.ImportResult.StartLongRunningProcess(obj1);//pass each import record to this method
}
}
}
public class Import
{
public int Id { get; set; }
public List<Error> Errors { get; set; }
public void StartLongRunningProcess(object data)
{
object[] datas = data as object[];
string import = datas[0].ToString();
try
{
// here I have along running process
}
// Here I store my error result in above list in long running process
catch (Exception ex)
{
datas[1]. // Here I would like to add record to error list of Test class.
Errors.Add(new Error
{
ErrorMessage = ex.message
});
}
}
}
現在我所要做的是我想通過一流的試驗錯誤列表作爲參數來StartLongRunningProcess
方法和從那裏我想將所有錯誤記錄存儲在Test類的錯誤變量中。
這樣做的原因是因爲我有1個方法getCurrentData
,每5秒調用一次,以獲取當前正在運行的導入項目的錯誤記錄。因此,在所有導入項目結束時,我會爲所有導入項目準備好錯誤列表。 StartLongRunningProcess的
public string getCurrentData() //called every 5 seconds to get latest data
{
var data = TestList.FirstOrDefault(x => x.Key == 100).Value;
response = new
{
errors = data.Errors.Select
(er => new
{
//error properties
}).ToList()
}
參數爲對象,因爲此方法是從我的另一個頁面線程池運行,這就是爲什麼我一直作爲數據類型對象的參數數據。
我也不能作出進口的列表如下圖所示:
public List<Import> ImportResults = new List<Import>();
你正在傳遞'item',它是'string'。然後你'string'作爲'object []' –
@SergeyBerezovskiy:對不起,這是一個錯誤。更新了我的問題 –