我定义了个泛型类
public class Stack2<T>
{
    public T my(T x)
    {
       return k+1;
    }
}
我实例化的时候这样
Stack2<int> xx = new Stack2<int>();
然后调用方法
 int ss = xx.my(2);
我就想,对传入的参数,在加1,可说T类型无法转换到int,难道泛型方法不能返回这个参数类型?
不能呀,我把 return k+1;改为 return 1;就可以了,我怎么才能对这个参数进行运算呀?

解决方案 »

  1.   

    return k+1;
    弱弱的问一下,这个K是哪来的
      

  2.   

    晕,写错了是return  x+1;  
      

  3.   

    public T my(T x,T y)
        {
           return x+y;
        }
      

  4.   

    学习一下.现在用现成的List<>感觉没有出现过类似LZ说的呀
    (Vs2005)
      

  5.   

    你的意思是说,对他进行操作,转换肯定不行了,好象这个时候他还没发现 int,只能是T类型之间进行运算了,对把,那就是说,与他交流的东西,必须都是T型
      

  6.   

    public T my(T x,T y)
        {
           return x+y;
        }
    晕了,这个怎么不对啊?
      

  7.   

    public interface IAdd<T>
            {
                T Add(T t);
            }
            public class Stack2<T> where T : IAdd<T>
            {
                public T my(T x, T y)
                {
                    return x.Add(y);
                }        }
    然后T实现Add方法即可...