首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

小弟我自己创建的泛型类有些有关问题,请高手帮忙看看

2011-12-29 
我自己创建的泛型类有些问题,请高手帮忙看看。using Systemusing System.Collections.Genericusing Syste

我自己创建的泛型类有些问题,请高手帮忙看看。
using System;
using System.Collections.Generic;
using System.Text;

namespace 定制泛型类
{
  /// <summary>
  /// 创建自定义泛型类
  /// </summary>
  /// <typeparam name="T">指定泛型类的类型</typeparam>
  public class GenericList<T>
  {
  public void Add(T input1,T input2) 
  {
  Console.WriteLine("结果是:{0}", input1 + input2); //这句有错误。
  }
  }

  /// <summary>
  /// 测试泛型类
  /// </summary>
  class Program
  {
  static void Main(string[] args)
  {
  GenericList<int> gList = new GenericList<int>();
  gList.Add(1, 2);
  GenericList<string> gStrList = new GenericList<string>();
  gStrList.Add("1", "2");
  Console.Read();
  }
  }
}
我的目的就是第一个Add的结果为3,第二个结果为"12",可是却提示错误“运算符“+”无法应用于“T”和“T”类型的操作数”这样的错误,正确的写法应该是什么?能把正确的答案给写出来吗?

[解决办法]

我不懂泛型,不知道我这个方法你满意么?满意的话给我分谢谢~~!

C# code
using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication2{    class Program    {        static void Main(string[] args)        {            gList<int> gList = new gList<int>();            gList.Add(1, 2);            gList<string> gStrList = new gList<string>();            gStrList.Add("1", "2");            Console.ReadKey();         }    }    public class gList<T>    {        public void Add(int input1,int  input2)        {            Console.WriteLine("结果是:{0}", input1 + input2);          }        public void Add(string  input1, string input2)        {            Console.WriteLine("结果是:{0}", input1 + input2);         }     }
[解决办法]
并不是所有的TYPE都支持+号运算符的
泛形归根到底就是里面所有的运算要对任何类型都支持
所以+运算符肯定是不可能用在泛形里面的

热点排行