我正在寻找一种将字符串转换为类型的通用方法。
例如:
class SomeThing<T> {
public void Add(T value) {
//...
}
public void Add(string value) {
// Try to convert from string to T ???
}
}
用法:
SomeThing<double> list = new SomeThing<double>();
list.Add(123.45);
list.Add("234.56");
它应该具有以下特性:
- 如果类型支持从字符串转换,则将其转换。
- 如果类型不支持从字符串转换,则抛出异常或返回default(T)
。
- 对于数字 (double, int),它应该使用不变的文化。
我怎样才能做到这一点?