怎样用接口来定义泛型的类型

LayersSss 2010-09-11 04:41:08
小弟不知道标题这种表述方法对不对,我只是想写出大概是这样意思的代码

class A1<T:I1>//这句写法不对,我是大概表述这个意思,使对象只能使用继承自I1接口的类型
{
public T tData;
public bool M2(){
return tData.M1();//因为约束了泛型的类型,我就能像这样调用未知类型的成员方法了。
}
}
interface I1{
bool M1();
}

我想到过一种能起到同等效果的方法:
不约束T,而在M2里面先把tData拆箱为I1再调用,也能M1了,但是觉得这种方法不安全,我想C#里面应该会有原生的方法的,但是看了好多参考也没找到,各位大侠帮帮忙啊。
...全文
132 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
LayersSss 2010-09-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyazhe 的回复:]

class A1<T> where T:T1
{
}
[/Quote]
哈,对了,就是这个,太谢谢了
兔子-顾问 2010-09-11
  • 打赏
  • 举报
回复
看错了,I1
class A1<T> where T:I1
{
}
兔子-顾问 2010-09-11
  • 打赏
  • 举报
回复
class A1<T> where T:T1
{
}

111,129

社区成员

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

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

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