我有以下两个功能:
private object[] GetFormatedDataArray(
Dienstleistungsreservierung dlres,
KostenstellenProvider kstProvider)
{
SAPKonto konto;
try { konto = KontierungsProvider.Instance.GetSAPKonto(dlres); }
catch { konto = new SAPKonto(); konto.KontoText = "UNBEKANNT"; }
Kostenstelle kst = kstProvider.GetKostenstelle(dlres.Raumreservierung.Buchung);
KostenstellenValidator.Validate(kst);
return new object[] {
dlres.Raumreservierung.VirtualRaum.Etage.Gebaeude.KonfStandort,
dlres.Raumreservierung.VirtualRaum.Etage.Gebaeude.Partner.AnsprechPartnerName,
......
}
有一种可能性是:
dlres.Raumreservierung.VirtualRaum.Etage.Gebaeude.Partner
是空的,因为我围绕创建.csv文件做了一个if子句,如果值为空或!=空,他应该创建文件。
使用该函数/该函数的返回值,我创建了一个 .csv 文件。
{
.....
var file = GetCsvFile(dl, accDate);
// CSV werden auf Platte geschrieben!
var csvWriter = new CSVWriter(file);
csvWriter.WriteLine(GetHeader());
foreach (Dienstleistungsreservierung dlres in dlDic[dl])
{
if (dlres.Raumreservierung.VirtualRaum.Etage.Gebaeude.Partner == null || dlres.Raumreservierung.VirtualRaum.Etage.Gebaeude.Partner != null)
{
csvWriter.WriteLine(GetFormatedDataArray(dlres, kstProvider));
}
}
csvWriter.Flush();
....
}
但是错误仍然存在吗?有没有其他方法可以绕过?