Есть ли хорошая ссылочная реализация для IFormattable? Я планирую иметь хотя бы один пользовательский IFormatProvider
для моего объекта, и я хочу убедиться, что проводка верна для разных возможных наборов параметров, переданных в IFormattable.ToString(string, IFormatProvider)
.
Что я до сих пор:
public class MyDataClass : IFormattable
{
/// <seealso cref="IFormattable.ToString(string, IFormatProvider)"/>
public string ToString(string format, IFormatProvider formatProvider)
{
ICustomFormatter formatter = (ICustomFormatter)formatProvider.GetFormat(typeof(ICustomFormatter));
return formatter.Format(format, this, formatProvider);
}
}
Но, похоже, существуют другие потенциальные ситуации, которые должны быть охвачены, то есть:
- Если
formatProvider
равно null, я должен вернуться кthis.ToString()
? - Если
formatProvider.GetFormat(typeof(ICustomFormatter))
возвращаетnull
, есть ли конкретное исключение, которое я должен бросить?
Приветствуются любые записи в блогах/примеры кода/ссылки MSDN.