我正在做一个配置提供者,在我的服务层我有这个:
public string GetValue(string key)
{
return _ctx.Configurations.SingleOrDefault(q => q.Key == key).Value;
}
但是我怎样才能得到它的原始类型的值,我想这样做:
public T GetValue<T>(string key)
{
return (T)(object)_ctx.Configurations.Single(q => q.Key == key).Value;
}
正如这里所指出的:https ://stackoverflow.com/a/9420236/544283 ,这将是对泛型的滥用......我可以忍受。
由于我知道类型,我可以将值强制转换到方法之外,并将其在方法内部作为字符串处理,但我想避免这种情况。