泛型函数以及传入的参数是泛型的问题

liudanking 2010-12-01 04:20:11
在写的一个函数因为数据类型很多,所以想到使用泛型来完成。避免重载过多造成代码的不易维护。
简单来说我想在一个类中定义这用一个函数:

public T0[] function<T0,T1,T2>(Info<T1,T2>)
{
……
}

其中Info<T1,T2>中的T1,T2是在类Info中定义的。
T0是在函数所在的类定义的。
我直接按照上述格式编写类,编译的时候出现错误。
请问要满足这个需求,这个类该怎样定义?函数应该怎样声名?
...全文
535 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanghui0380 2010-12-01
  • 打赏
  • 举报
回复
恩,那个是你T1的问题

你估计T1对象屏蔽了默认构造

如果是T1是自己的类,一般采用 构造(参数 a):base() 来实现开放的无参构造
如果T1不是自己的类,估计约束为其父类即可,通常来说,抽象父类一般不太会设计成屏蔽默认构造这种方式
liudanking 2010-12-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wanghui0380 的回复:]
public T0[] function<T0,T1,T2>(Info<T1,T2> info)
{
}
[/Quote]
修改后还是出现:错误 1 “T1”必须是具有公共的无参数构造函数的非抽象类型,才能用作泛型类型或方法
一切为了你 2010-12-01
  • 打赏
  • 举报
回复
照样写 。。。。。
wanghui0380 2010-12-01
  • 打赏
  • 举报
回复
public T0[] function<T0,T1,T2>(Info<T1,T2> info)
{
}

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧