Общая оболочка для TryParse() в C#C#

Место общения программистов C#
Ответить
Anonymous
 Общая оболочка для TryParse() в C#

Сообщение Anonymous »

Я использую следующие методы для обеспечения быстрого встроенного доступа к методу TryParse() различных классов типов. По сути, я хочу иметь возможность анализировать строку, поступающую из веб-службы, если это возможно, или возвращать значение по умолчанию, если нет.

Код: Выделить всё

private Int64 Int64Parse(string value) {
Int64 result;
if (!Int64.TryParse(value, out result)) { return default(Int64); }
return result;
}

private DateTime DateTimeParse(string value) {
DateTime result;
if (!DateTime.TryParse(value, out result)) { return default(DateTime); }
return result;
}

private Decimal DecimalParse(string value) {
Decimal result;
if (!Decimal.TryParse(value, out result)) { return default(Decimal); }
return result;
}
Они очень повторяются, и мне кажется, что существует способ объединить их в один общий метод.

Я застрял на следующем, но не знаю, как действовать или как искать, как действовать.

Код: Выделить всё

private T ParseString(string value) {
T result;
if (!T.TryParse(value, out result)) { return default(T); }
return result;
}
Будем признательны за любую помощь.
Спасибо.

==Edit==
Чтобы добавить некоторый контекст. Это для прослушивателя, получающего обратные сообщения от конкретной компании, выставляющей счета по кредитным картам. Я не выполняю проверку на этом этапе, потому что это будет сделано позже на этапах бизнес-правил. Например, меня не волнует, будет ли Bank_batch_number иметь целое число, строку или лиофилизированный грызун; Я не собираюсь останавливаться на исключении, если не смогу аккуратно зарегистрировать поле, которое не использую. Меня волнует, что ext_product_id существует в нашей базе данных и имеет цену, соответствующую валюте_amount_setled в сообщении; если этот тест не пройден, транзакция приостанавливается, записывается предупреждение, и мы с нашими сотрудниками службы CS будем предупреждены.

Однако упомянутая ниже культура является мудрым советом.

Подробнее здесь: https://stackoverflow.com/questions/145 ... in-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»