public static int AddProduct(TicketInfo info)
        {
            return dal.AddProduct(info.toProduct());
        }
        public static int AddProduct(HotelInfo info)
        {
            return dal.AddProduct(info.toProduct());
        }因为有好几个
想知道能不能用泛型之类的方法合并他们

解决方案 »

  1.   

    如果你的HotelInfo和TicketInfo都继承1个接口的话
    public static int AddProduct(IproductInfo info)
    {
        return dal.AddProduct(info.toProduct());
    }
      

  2.   

     public static int AddProduct<T>(T info)
            {
                return dal.AddProduct(info.toProduct());
            }
      

  3.   

           public static int AddOrder(OrderInfo info, TicketInfo p)
            {
                Product.AddProduct((IProductInfo)p);            return dal.AddOrder(info);
            }        public static int AddOrder(OrderInfo info, HotelInfo p)
            {
                Product.AddProduct((IProductInfo)p);            return dal.AddOrder(info);
            }这两个又有没有方法呢
      

  4.   

    object 类型作参数,不太好,但也可行吧
      

  5.   

    不用接口的话用反射
    public static int AddProduct(object info,Type t)
    {
    //把info反射成t类型的对象,执行他的toProduct()方法
    }只是思路。。不过还是用接口比较符合面向对象思想(注:个人观点)
      

  6.   


           public static int AddOrder(OrderInfo info, object p)
            {
                Product.AddProduct((IProductInfo)p);            return dal.AddOrder(info);
            }直接不行???