我可以创建一个方法,以便它返回我在参数中指定的类型的值吗?例如:
int i = Settings.Get("count", typeof(int));
string s = Settings.Get("count", typeof(string));
Guid g = Settings.Get("count", typeof(Guid));
public T Get<T> (string value)
{
//read setting and cast
//or if you have Setting.Get implementation
return (T)Settings.Get("count", typeof(T));
}
现在你可以
int i = Get<int>("count");
string i = Get<string>("count");
Guid i = Get<Guid>("count");
您可以通过使方法通用来做到这一点:
Settings.Get<T>(string name);
在 Get 方法中,您需要加载该值,然后将其转换为T
:
public T Get<T>(string value)
{
object o = 1; // read setting;
return (T)o;
}
然后调用它:
int i = Get<int>("count");
你为什么不试试这样的泛型
public T Get<T>(string value)
{
// do your stuff and cast the value
}
其中 T 是类型