public class XObj<T>
{
    protected T curObj;
    public T Get();
    public void Set(T);
    public void Process();
}public class BaseCallClass // 基类,继承该基类的对象有100多个
{
    public XObj mainObj; // 在这里如果不指定XObj泛型,会提示出错,可继承类这里的T可能是int,string,byte多种类型
    public void Prepare()
    {
         mainObj.Set(...);
         mainObj.Process();
    }
}也想过用接口来完成,可接口的话Get这个函数接口怎么写呢...愁...泛型接口

解决方案 »

  1.   

    public class BaseCallClass<T> // 基类,继承该基类的对象有100多个
    {
        public XObj<T> mainObj; // 在这里如果不指定XObj泛型,会提示出错,可继承类这里的T可能是int,string,byte多种类型
        public void Prepare()
        {
             mainObj.Set(...);
             mainObj.Process();
        }
    }
      

  2.   

    public class BaseCallClass // 基类,继承该基类的对象有100多个
    {
        public dynamic mainObj; // 在这里如果不指定XObj泛型,会提示出错,可继承类这里的T可能是int,string,byte多种类型
        public void Prepare()
        {
             mainObj.Set(...);
             mainObj.Process();
        }
    }
    dynamic 闪亮登场
      

  3.   

    可以用接口   public interface XObj<T>
    {
        protected T curObj;
        public T Get();
        public void Set(T x);
        public void Process();
    }  
    public class BaseCallClass<T>    // 基类,继承该基类的对象有100多个
    {
        public XObj<T> mainObj;   // 在这里如果不指定XObj泛型,会提示出错,可继承类这里的T可能是int,string,byte多种类型
        public void Prepare()
        {
             mainObj.Set(...);
             mainObj.Process();
        }
    }public class aaa : BaseCallClass<int>
    {
        
    }public class bbb : BaseCallClass<string>
    {
    }