fix(04): resolve null-reference crashes in CsvValidationService and TransferView
- Add null-conditional on CsvReader.Context.Parser to fix CS8602 warnings - Guard ConflictCombo_SelectionChanged against null ViewModel during XAML init Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -35,14 +35,14 @@ public class CsvValidationService : ICsvValidationService
|
|||||||
var record = csv.GetRecord<T>();
|
var record = csv.GetRecord<T>();
|
||||||
if (record == null)
|
if (record == null)
|
||||||
{
|
{
|
||||||
rows.Add(CsvValidationRow<T>.ParseError(csv.Context.Parser.RawRecord, "Failed to parse row"));
|
rows.Add(CsvValidationRow<T>.ParseError(csv.Context.Parser?.RawRecord ?? string.Empty, "Failed to parse row"));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
rows.Add(new CsvValidationRow<T>(record, new List<string>()));
|
rows.Add(new CsvValidationRow<T>(record, new List<string>()));
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
rows.Add(CsvValidationRow<T>.ParseError(csv.Context.Parser.RawRecord, ex.Message));
|
rows.Add(CsvValidationRow<T>.ParseError(csv.Context.Parser?.RawRecord ?? string.Empty, ex.Message));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return rows;
|
return rows;
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ public partial class TransferView : UserControl
|
|||||||
|
|
||||||
private void ConflictCombo_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
private void ConflictCombo_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||||
{
|
{
|
||||||
if (ConflictCombo.SelectedIndex >= 0)
|
if (_viewModel != null && ConflictCombo.SelectedIndex >= 0)
|
||||||
{
|
{
|
||||||
_viewModel.ConflictPolicy = (ConflictPolicy)ConflictCombo.SelectedIndex;
|
_viewModel.ConflictPolicy = (ConflictPolicy)ConflictCombo.SelectedIndex;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user