У меня есть служебный метод, который возвращает сильно типизированное значение из старого файла типа .INI
конфигурации, с подписьюСтрока string.Empty to (generic) T в C#?
internal static T GetIniSetting<T>(string config, string key, T defVal = default(T))
Я хочу струн быть особенными, в котором я хотел бы значение по умолчанию для DefaultValue должен быть string.Empty
, а не default(string)
(т.е. null), в случае, если кодер не указал значение по умолчанию.
if (cantFindValueInIniFile == true)
{
if ((typeof(T) == typeof(string)) && (defaultValue == null))
{
// *** Code needed here - Cannot convert string to <T>***
return (T)string.Empty;
}
return defaultValue;
}
Я пробовал жесткий кастинг, и as
ключевое слово, но безрезультатно.
Призывая силу LSP не кажется, очень подходит для этого конкретного случая ... –