public static void Main()
var sysRankLog=new SysRankLog();
DB<BaseTable>.Delete(sysRankLog);
var product=new Product();
DB<BaseTable>.Delete(product);
public class SysRankLog:BaseTableID
public class Product:BaseTableDeleteFlag
public class DB<BaseTable>
public static void Delete(BaseTable table)
if(table is BaseTableDeleteFlag||table is BaseTableTimeAndFlag)
Console.WriteLine(" 软删除");
Console.WriteLine(" 物理删除");
public class BaseTableID : BaseTable
public int id { get; set; }
public class BaseTableDeleteFlag : BaseTableID
public bool deleteflag { get; set; }
public class BaseTableTimeAndFlag : BaseTableDeleteFlag
public DateTime createtime { get; set; }
public DateTime updatetime { get; set; }