2014-08-10 2 views
1

Я пытаюсь разобрать CSV-файл с помощью CSV помощникаКак установить значение по умолчанию

это мои картографирований класса

sealed class CSVFileDefinitionMapFinal : CsvClassMap<CSVFileDefinitionFinal> 
{ 
    public CSVFileDefinitionMapFinal() 
    { 
     Map(m => m.FARM_ID).Name("FRM_ID"); 
    } 
} 

это моя детали класс

class CSVFileDefinitionFinal 
{ 
    public int FARM_ID { get; set; } 
} 

проблема что FRM_ID в csv может hav null. поэтому, когда я делаю mappign выше, у меня есть исключение, что null не может быть передано целому числу. Я спрашиваю, есть ли способ попробовать и поймать это и установить значение -10, когда оно равно null.

попытка и улов должны быть в классе сопоставления, но я не мог знать, что делать после обнаружения исключения. Другими словами, я не мог знать, как установить значение по умолчанию к объекту картографирования

+1

Вопрос не разъясняет, куда входит 'static'. –

+0

Я считаю, что он означает' default'. Я отредактировал вопрос, чтобы изменить статический на значение по умолчанию. –

ответ

3

Вы можете сделать это свойство Nullable и не автоматический:

class CSVFileDefinitionFinal 
{ 
    private int _farmId; 

    public int? FARM_ID 
    { 
     get { return _farmId; } 
     set { _farmId = value == null ? -10 : value.Value; } 
    } 
} 

Заметьте, что вам нужно определить private int _farmId член в этом классе.

+0

Я пытаюсь это спасибо –

+0

- это имя '_farmId', или я могу изменить его на' myFarmID'? –

+0

@AnastasieLaurent: Вы можете изменить его на все, что вам нужно. –

2

Вы можете просто добавить значение по умолчанию к сопоставлению.

Map(m => m.FARM_ID).Name("FRM_ID").Default(-10); 
Смежные вопросы