如何使函数返回的为一个动态类型,除了用object
比如我有三个类 
 Class   A 
 {}   
 Class   B:A 
 {}   
 Class   C:A 
 {}   
 我想在A里面写一个静态方法。B,C去继承它。这个方法如果B继承就返回B,A继承就返回A。函数体基本一样,假设B调用,那么这个函数可能如下 
 public   static   B   function   (int   i) 
 { 
       B   a=(B)session.查询方法( "from   B   where   B.Id= ' "+i+ " ' ")..; 
       return   a;    
    } 
 若C调用,则函数可能如下: 
 public   static   C   function   (int   i) 
 { 
          C   a=(C)session.查询方法( "from   C   where   C.Id= ' "+i+ " ' ")..; 
          return   a; 
 }    
------解决方案--------------------可以用泛型   
 参考一下这里 http://www.cnblogs.com/yyw84/archive/2006/10/27/542328.html 
------解决方案--------------------你可以增加多一层,为你的抽象类定义一个默认的类,实现所有方法的默认实现。 
 所有的方法区继承这个默认的类就行了,需要重写的才重写 
 100个表,想实现100个不同的功能,当然要写100个实现的啦 
 如果都有默认的实现方法,可以按照上面所说