RT,具体我数据层有一个公共save方法,
publice void save()
{
//数据保存
}
在使用的时候,User user = new User();
user.name="dd";
user.Save();现在想把这个方法独立出来,也就是实体类作为参数,然后实现保存,想要实现的结果如下
public void Save(Model mm)//实体作为参数,具体是哪个不定
{
  mm.save();
}该如何实现呢?

解决方案 »

  1.   

    抽象为接口,不要管什么实体不实体...public void Save(IModel mm)
    {
       mm.save();
    }
      

  2.   

    class xx<TEntity, TId>...
    {
    public void Save(TEntity entity)//实体作为参数,具体是哪个不定
    {
      mm.save();
    }
    }
     
      

  3.   

    public void Save<T>(T mm)
    {
        策略模式
        if (typeof(T))
        {
            ....
        }
    }
      

  4.   

    public class test
    {
    public void Save<T>(T t)
    {
       //保存数据
    }
    }User user=new User()
    user.id='aaaa'
    调用的时候指明实体类型就行了.Save<实体类类型User>(user);也可以在类中指定类型,也一样的
    public class test<T>
    {
    public void Save(T t)
    {
       //保存数据
    }
    }