读书人

请问一个有关问题,关于怎么区分T和Lis

发布时间: 2013-04-12 18:33:11 作者: rapoo

请教一个问题,关于如何区分T和List<T>
本帖最后由 niss 于 2013-04-08 20:56:12 编辑 有一个方法:
public T method<T>()
{
}

我怎么才能够限制这个T不可以是诸如List<T>,IList<T>,T[],IDictionary<T,T>这种集合类型?
比如不允许调用方这么用:method<List<T>>()
[解决办法]
泛型约束达不到你的要求,他只能指明继承与谁,而不能限制不继承谁

所以你的在方法体里面自己判定

 T xxx<T>(T obj)
{
if (obj is IEnumerable)
{
throw new ArgumentException("参数无效");
}
return obj;
}

读书人网 >C#

热点推荐