Dictionary扩展能支持泛型返回值? 本帖最后由 yellowgiutou 于 2014-03-24 21:31:10 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public static T GetValue<K, T>(this Dictionary<K, T> s, K k) { T t; s.TryGetValue(k,out t); return t; } Dictionary<string, int> aef=new Dictionary<string,int>(); int aa = aef.GetValuee("s"); 兄台,这个和我的有点区别,我需要的含有一个自动类型转化功能~比如value存入的时候是object,取出来的时候传入<String>,则自动转换为string 兄台,这个和我的有点区别,我需要的含有一个自动类型转化功能~比如value存入的时候是object,取出来的时候传入<String>,则自动转换为string这样,不过第二参数没法指明哪一类型 public static T GetValue<T>(this IDictionary source,object obj) { return (T)source[obj]; } aef.GetValue<string>(1);如果想指明那会变成 public static T GetValue<T,K>(this IDictionary source,K obj) { return (T)source[obj]; }调用会变成这样 aef.GetValue<string,string>(1); 还有一方法就是你把C#的那几种基本类型全重载过去 public static T GetValue<T>(this IDictionary source,int obj) { return (T)source[obj]; } public static T GetValue<T>(this IDictionary source,int obj) { return (T)source[obj]; } public static T GetValue<T>(this IDictionary source,string obj) { return (T)source[obj]; } public static T GetValue<T>(this IDictionary source,long obj) { return (T)source[obj]; } public static T GetValue<T>(this IDictionary source,double obj) { return (T)source[obj]; }等。。这样。。 T2 GetValue<T1, T2>(this Dictionary<T1, T2> dict, T1 key) 兄台,这个和我的有点区别,我需要的含有一个自动类型转化功能~比如value存入的时候是object,取出来的时候传入<String>,则自动转换为string这样,不过第二参数没法指明哪一类型 public static T GetValue<T>(this IDictionary source,object obj) { return (T)source[obj]; } aef.GetValue<string>(1);如果想指明那会变成 public static T GetValue<T,K>(this IDictionary source,K obj) { return (T)source[obj]; }调用会变成这样 aef.GetValue<string,string>(1);兄台威武! 在win7旗舰版上装VS2010旗舰版始终错误(提示:miicrosoft 应用程序报告[安装失败])求助~无奈中~~~~ 写windows应用程序与mysql和mssql,那个数据库好些? 急问,c#中,Console.WriteLine什么意思??? 如何让Timer_Ticker事件不受窗体其他事件的阻塞? 序号生成器 关于回到上一个未关闭的窗口的问题 文本编辑器 急啊! 一个界面问题! 为什么喜欢说.net, 而不说C#或VB.net? 求<<构建XML Web服务:基于Microsoft.NET平台>>书上的源代码? windows 服务启动不了了。。、 oracle数据类型的问题
{
T t;
s.TryGetValue(k,out t);
return t;
}
Dictionary<string, int> aef=new Dictionary<string,int>();
int aa = aef.GetValuee("s");
兄台,这个和我的有点区别,我需要的含有一个自动类型转化功能~比如value存入的时候是object,取出来的时候传入<String>,则自动转换为string
兄台,这个和我的有点区别,我需要的含有一个自动类型转化功能~比如value存入的时候是object,取出来的时候传入<String>,则自动转换为string这样,不过第二参数没法指明哪一类型
public static T GetValue<T>(this IDictionary source,object obj)
{ return (T)source[obj];
} aef.GetValue<string>(1);
如果想指明那会变成 public static T GetValue<T,K>(this IDictionary source,K obj)
{ return (T)source[obj];
}调用会变成这样
aef.GetValue<string,string>(1);
{ return (T)source[obj];
} public static T GetValue<T>(this IDictionary source,int obj)
{ return (T)source[obj];
} public static T GetValue<T>(this IDictionary source,string obj)
{ return (T)source[obj];
}
public static T GetValue<T>(this IDictionary source,long obj)
{ return (T)source[obj];
} public static T GetValue<T>(this IDictionary source,double obj)
{ return (T)source[obj];
}等。。这样。。
兄台,这个和我的有点区别,我需要的含有一个自动类型转化功能~比如value存入的时候是object,取出来的时候传入<String>,则自动转换为string这样,不过第二参数没法指明哪一类型
public static T GetValue<T>(this IDictionary source,object obj)
{ return (T)source[obj];
} aef.GetValue<string>(1);
如果想指明那会变成 public static T GetValue<T,K>(this IDictionary source,K obj)
{ return (T)source[obj];
}调用会变成这样
aef.GetValue<string,string>(1);
兄台威武!