首页 新闻 会员 周边

泛型问题,期待结果,谢谢!

0
悬赏园豆:10 [已解决问题] 解决于 2013-12-09 23:27
 public class Calculer<T> where T:struct //已经约束为值类型了
    {
        public T Add(T x, T y)
        {
            return x + y; //是否可以这么实现?C# 就编译报错  运算符“+”无法应用于“T”和“T”类型的操作数 

        }
    }
渴望飞翔的主页 渴望飞翔 | 初学一级 | 园豆:181
提问于:2013-12-09 21:37
< >
分享
最佳答案
0

你这里的约束只是针对T这个类型必须是Struct类型,而你的Add方法操作的是两个结构相加,结构是属于值类型,但不是CLR里的基元类型,不能重载"+"操作符,同样的class 也是不能 做相加操作,只有基元类型才可能重载"+"操作符进行相加操作

收获园豆:10
Zery | 大侠五级 |园豆:6151 | 2013-12-09 23:01

哦,谢谢,那我要实现一个类似的泛型函数,该怎么实现呢!

渴望飞翔 | 园豆:181 (初学一级) | 2013-12-09 23:06

@渴望飞翔: http://www.cnblogs.com/JimmyZhang/archive/2008/12/17/1356727.html

参考下子阳兄的文章,写得很细很全面

Zery | 园豆:6151 (大侠五级) | 2013-12-09 23:22

@Zery: 好的!!

渴望飞翔 | 园豆:181 (初学一级) | 2013-12-09 23:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册