C# 通用接口,IEnumerable
我有以下代码:C# 通用接口,IEnumerable,c#,interface,ienumerable,C#,Interface,Ienumerable,我有以下代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace QQQ.Mappings { interface IExcess<T> { IEnumerable<string, T> getExcessByMaterialGroup(T[] data); void Sort<
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace QQQ.Mappings
{
interface IExcess<T>
{
IEnumerable<string, T> getExcessByMaterialGroup(T[] data);
void Sort<TKey>(T[] data, Func<T, TKey> selector);
}
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
名称空间qq.Mappings
{
接口交换
{
IEnumerable getExcessByMaterialGroup(T[]数据);
无效排序(T[]数据,函数选择器);
}
}
但是我得到了这个错误,“使用泛型类型'System.Collections.generic.IEnumerable'需要'1'类型参数”没有标准的
IEnumerable
泛型类型接口,只有IEnumerable
()。
我相信您需要的是
IDictionary
()而不是IEnumerable
是唯一的方法没有IEnumerable
,但是您可以使用IDictionary
这是您的问题,IEnumerable只有一个泛型参数
IEnumerable<string, T>
IEnumerable
您到底想实现什么?IEnumerable只接受一个类型参数。您应该声明as
IEnumerable
IEnumerable只有一个类型参数,但您已经指定了两个类型参数(字符串,T)。您可能需要以下内容:
IEnumerable<string> getExcessByMaterialGroup(T[] data);
IEnumerable getExcessByMaterialGroup(T[]数据);
如果该方法应该返回字符串的可枚举项。您正试图从getExcessByMaterialGroup返回
IEnumerable
IEnumerable
只接受一个类型参数,而不是两个(字符串和T)。我的猜测是,您希望返回类似于IEnumerable
IEnumerable
的内容。如果存在,则不存在双字典样式IEnumerable
如果你在寻找一个类似键值的关系,请考虑<代码> iQueaby
7个答案,它们或多或少相同;我想你已经得到了答案。:-)对,我在找Inumerable