asp.net MVC中怎样让LINQ Designer自动生成的类从别的类继承并调用其基类构造器?

继承是比较简单的,比如在Designer.cs中有一个类叫 Text100,可以在Text.cs中直接写:


  1.  
  2.  
  3. [csharp] view plaincopy  
  4. 01.public class Text //这个就是基类    
  5. 02.{    
  6. 03.    private int _length = 0;    
  7. 04.        
  8. 05.    public Text(int length)    
  9. 06.    {    
  10. 07.        _length = length;    
  11. 08.    }    
  12. 09.}    
  13.  
  14.    
  15.  
  16.  
  17.  
  18. [csharp] view plaincopy  
  19. 01.public partial class Text100 : Text //这个就是已经在Designer中声明过的LINQ类    
  20. 02.{    
  21. 03.    .... //在这里不能再写构造器了,因为Designer.cs里边写过了    
  22. 04.}    
这里不能调用其基类构造器,但可以调用partial void OnCreate()(在Deisigner.cs里边声明的)来完成构造器想完成的工作。最终结果是:

 


  1.  
  2. [csharp] view plaincopy  
  3. 01.public class Text //这个就是基类    
  4. 02.{    
  5. 03.private int _length = 0;    
  6. 04.    
  7. 05.//public Text(int length) //这个好像应该注释掉,否则总是被调用。没试过留着它的情况。    
  8. 06.//{    
  9. 07.//_length = length;    
  10. 08.//}    
  11. 09.}    
  12. 10.    
  13. 11.public partial class Text100 : Text //这个就是已经在Designer中声明过的LINQ类    
  14. 12.{    
  15. 13.    void OnCreate() //在这里把本来调用构造器的工作做完。    
  16. 14.    {    
  17. 15.        _length = 100;    
  18. 16.    }    
  19. 17.}    

这个OnCreate()在Text100的定义中有一个partial 版本,是Text100的构造器中的唯一一句话(在designer.cs中可找到),换言之就是来解决基类构造问题的。

 

这种自动生成的类还有很多On...函数,可以解决其他基类调用问题。


本文转自火星人陈勇 51CTO博客,原文链接:http://blog.51cto.com/cheny/1100103


上一篇:原生开发移动web单页面(step by step)1——传统页面的开发


下一篇:解密H264、AAC硬件解码的关键扩展数据处理