黑马程序员技术交流社区

标题: 泛型限定 实现+运算 [打印本页]

作者: 马林康    时间: 2012-7-24 11:53
标题: 泛型限定 实现+运算
本帖最后由 马林康 于 2012-7-24 12:05 编辑
  1.         public T add<T> (T value1, T value2)
  2.         {
  3.             return value1 + value2;
  4.         }
复制代码
出现错误:错误 1 运算符“+”无法应用于“T”和“T”类型的操作数
如何对T进行限定 实现+运算?

作者: 许庭洲    时间: 2012-7-24 12:45
public T add<T> (T value1, T value2): struct, IConvertible   
{
    if (typeof(T) == typeof(DateTime)) //手动排除不可运算的值类型...
    {
        throw new ArgumentException("T");
    }
   
    return value1 + value2;; //或者使用 IConvertible 辅助处理...
}
作者: 马林康    时间: 2012-7-24 13:47
许庭洲 发表于 2012-7-24 12:45
public T add (T value1, T value2): struct, IConvertible   
{
    if (typeof(T) == typeof(DateTime)) ...

:'(看不懂 和DateTime有关系吗?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2