insertA(entityA a)
insertB(entityB b)
insertC(entityC c)
insertAB(entityA a,entityB b)
如何将这三组函数统一成一个函数,类似//当实际是保存entityA时,如下:
insertEvent(xx x)
{
  a.xx ;
  a.yy ;
  a.zz ;
}
麻烦各位知道的给demo一下。谢谢!!

解决方案 »

  1.   

    insertA(entityA   a) 
    insertB(entityB   b) 
    insertC(entityC   c) 
    insertAB(entityA   a,entityB   b) 
    如何将这三组函数统一成一个函数?不明白?上面的函数都是个性化的,我想通用化!
      

  2.   

    insert(entityA       a)   
    insert(entityB       b)   
    insert(entityC       c)   
    insert(entityA       a,entityB       b)   
    就通用了,去GOOGLE查下函數重載
      

  3.   

    用接口,
    public interface entityX
    {
    }
    这三个类都实现这个接口,insertEntity(entityX x)
    {
    ....
    }
    这样就可以通用了啊。
      

  4.   

    insertA(entityA a)
    insertB(entityB b)
    insertC(entityC c)
    insertAB(entityA a,entityB b)
    如何将这三组函数统一成一个函数,类似 
    没有数错的话是四个。-_-!!!!!!我猜,合成一个这样就可以了
    public void insert(params object[] a)
    {
        //TODO
    }
      

  5.   

    public void insert(params object[] a)
    {
        //TODO
    }
    这种方式性能不好,用接口, 
    public   interface   entityX 


    这三个类都实现这个接口,insertEntity(entityX   x) 

    .... 

    这种方式我正在试!
      

  6.   

    说个简单的 没返回的情况下insertA(entityA   a) 
    insertB(entityB   b) 
    insertC(entityC   c) 
    insertAB(entityA   a,entityB   b) 不用的填空null
    insertAB(entityA   a,entityB   b,entityC   c)
    {
      if(a!=null)
        insertA(a);
      if(b!=null)
        insertB(b);
      if(c!=null)
        insertC(c);
    }
      

  7.   

    hiddkiller :
    这种情形不是我希望的!!
      

  8.   

    像9楼那样,不传递实体,而传递实体的属性值的数组,再带上表名
    或者传递一个object参数,用反射获取各属性及其值
      

  9.   

    soaringbird !
    说的比较明白,谢谢,让我学到了一些东西!
      

  10.   

    我用到了范型,结果报错!帮查查原因。
    //泛型接口定义   
    public       interface       IEntity   <T>   
    {   
            int       Insert(T       info);   
    }   
    //实现类:   
    public       class       DP       :       IEntity   <T_PDP>   
      {   
            public       int       Insert(T_PDP       info)   
            {   
                    System.Console.WriteLine(info.ADDRESS);   
                    return       0;   
      }   
        
    }   
    //remoting     interface   函数定义:   
    int     InsertToDB   <T>   (IEntity   <T>       info,T       model);   //remoting     interface     实现:   
    public       int       InsertToDB   <T>   (IEntity   <T>       info,       T       model)   
        {   
                return       info.Insert(model);   
    }   //反射创建对象   +工厂模式 
        public       static       IEntity   <DAL.Model.T_PDP>       CreateDP()   
        {   
                    string       className       =       _path       +       ".DP";   
                    return       (IEntity   <DAL.Model.T_PDP>   )Assembly.Load(_path).CreateInstance(className);   
        }   //业务调用的地方,   
    static       readonly       IEntity   <T_PDP>       dal       =       DAL.DALFactory.DataAccess.CreateDP();   
    T_PDP     pdp     =     new   T_PDP(1,   "Test",   2,   1,   "www.sccl.cn",       DateTime.Now,       DateTime.Now,100);   RDB.ExecuteSql(dal,pdp);   //结果在RDB.ExecuteSql(dal,pdp);报错!   
    未将对象引用设置到对象的实例。   怎么回事??   
      

  11.   

    yilanwuyu123 :
    如何加“AS”?