我有一个ac#函数,该函数从Datatable中读取文件位置,并将包含所有文件标记的List返回给调用方法。
在该Catch
块中,我想返回一个带有false的空列表,以便调用方法可以取消其操作。
但是我无法return
编译我的陈述。
最好将列表作为引用传递,并让该函数返回布尔值true/false
?
这是我正在尝试的代码:
public static ListgetEmailAttachments(string emailID, System.Data.DataTable emails) { List allAttachments; //System.Data.DataTable oTbl = new DataTable(); try { System.Diagnostics.Debugger.Break(); var results = from myRow in emails.AsEnumerable() where myRow.Field ("itemID") == emailID select myRow; System.Diagnostics.Debug.Print("attachments"); foreach (DataRow myRow in results) { System.Diagnostics.Debug.Print(myRow.Field ("attachmentsPath")); allAttachments.Add(myRow.Field ("attachmentsPath")); //DataTable dt = (DataTable)myRow["attachmentsPath"]; //DataTable oTbl = dt.Clone(); //DataRow[] orderRows = dt.Select("CustomerID = 2"); //foreach (DataRow dr in orderRows) //{ // oTbl.ImportRow(dr); //} // myTable.ImportRow(dr); //oTbl.Rows.Add(myRow); //oTbl.ImportRow(myRow); } return allAttachments; } catch (Exception ex) { logBuilder("common.getEmailAttachments", "Exception", "", ex.Message, ""); return new List emptyList(); // cannot compile } }
alexmac.. 7
更改此行:
return new ListemptyList(); // cannot compile
至:
return new List();
传递列表作为引用,并从函数返回布尔值,这是一个坏主意。您的方法称为getEmailAttachments
,它是加载附件,它应该返回附件。如果要检查加载附件的结果,我可以建议您返回null
并检查返回的值。
更改此行:
return new ListemptyList(); // cannot compile
至:
return new List();
传递列表作为引用,并从函数返回布尔值,这是一个坏主意。您的方法称为getEmailAttachments
,它是加载附件,它应该返回附件。如果要检查加载附件的结果,我可以建议您返回null
并检查返回的值。