asp.NetMVCでは、LINQ Designが自動的に生成したクラスを別のクラスから継承し、そのベースクラスコンストラクタを呼び出すにはどうすればいいですか?


継承は簡単です.例えばDesignerです.csにはText 100というクラスがあり、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()はText 100の定義にpartialバージョンがあり、Text 100のコンストラクタの唯一の一言(designer.csで見つけられる)であり、換言すればベースクラスの構造問題を解決するために使用される.
 
この自動生成クラスはまだたくさんありますOn...関数を使用して、他のベースクラス呼び出しの問題を解決します.