Есть ли простой способ проверить, действительна ли строка формата? Например, следующий код - это код, который мы используем для проверки строки числового формата;
public static bool IsValidFormatStringNumber(string FormatString)
{
try
{
const decimal number = 0.056m;
var formattedNumber = number.ToString(FormatString);
return formattedNumber.Length > 0;
}
catch
{
return false;
}
}
Мы пытаемся перехватить исключение или определить, не имеет ли полученная строка длины. Однако этот тест не проходит, поскольку строка формата «hsibbur» (любой мусор) приводит к строке «hsaibbur», имеющей длину.
Мы хотим провести такой же тест для строки формата процента и даты.
toString
на базовом типе в основном похожа наx=1;if(x!=1)throw error;
? Я не вижу такой детализации, что вам нужно было бы протестировать строковый формат (если я чего-то не упускаю, или вам нужно лучшее округление, или ...) - РЕДАКТИРОВАТЬ: вы пытаетесь перебрать возможные IFormatProviders ? - person Brad Christie   schedule 02.11.2011FormatException
? Вы скрываете все возможные реальные исключения. - person John Saunders   schedule 02.11.2011