Добрый день
помогите решить следующую проблему.
public override T GetOption<T>(string Name)
{
lock(Options)
{
if (Options.ContainsKey(Name))
{
if (typeof(T) is IEnumerable)
{
var Values = Options[Name].Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
foreach (var each in Values)
yield return each;
yield break;
}
else
return (T)Convert.ChangeType(Options[Name], typeof(T));
}
else
return default(T);
}
}
я хочу использовать так
foreach(var each in GetOption<IEnumerable>("IPList"))
{
}
//или
string MainServer = GetOption<string>("ServerIP");
как это более правильно изобразить,текущий вариант не работает =\, придрался к возращаемому типу