我自己创建的泛型类有些问题,请高手帮忙看看。
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都支持+号运算符的
泛形归根到底就是里面所有的运算要对任何类型都支持
所以+运算符肯定是不可能用在泛形里面的