我有一个方法,如重构使用泛型
bool TryGetValue(string key, out string value);
bool TryGetValue(string key, out int value);
bool TryGetValue(string key, out double value);
bool TryGetValue(string key, out DateTime value);
// only value types allowed
//with the implementation based on dictionary<string, object>
bool TryGetValue(string key, out string value)
{
object rc;
if (dict.TryGetValue(key, out rc))
{
value = rc.ToString();
return true;
}
value = null;
return false;
}
看起来像仿制药完美的情况下,
bool TryGetValue<T>(string key, out T value) where T: ValueType;
除了不能工作了FUNC实施,任何一个简单的界面?
更新 - 以下不编译,我想避免创建多个TryGet ... funcs!
bool TryGetValue<T>(string key, out T value)
{
return dict.TryGetValue(key, out value) ;
}
看到更新以上 – Kumar 2010-02-04 02:20:00
@Kumar - 更新了答案...希望这就是你以后,如果不是请让我知道你错过了什么。 – 2010-02-04 02:38:53