继承是比较简单的,比如在Designer.cs中有一个类叫 Text100,可以在Text.cs中直接写:
- [csharp] view plaincopy
- 01.public class Text //这个就是基类
- 02.{
- 03. private int _length = 0;
- 04.
- 05. public Text(int length)
- 06. {
- 07. _length = length;
- 08. }
- 09.}
- [csharp] view plaincopy
- 01.public partial class Text100 : Text //这个就是已经在Designer中声明过的LINQ类
- 02.{
- 03. .... //在这里不能再写构造器了,因为Designer.cs里边写过了
- 04.}
- [csharp] view plaincopy
- 01.public class Text //这个就是基类
- 02.{
- 03.private int _length = 0;
- 04.
- 05.//public Text(int length) //这个好像应该注释掉,否则总是被调用。没试过留着它的情况。
- 06.//{
- 07.//_length = length;
- 08.//}
- 09.}
- 10.
- 11.public partial class Text100 : Text //这个就是已经在Designer中声明过的LINQ类
- 12.{
- 13. void OnCreate() //在这里把本来调用构造器的工作做完。
- 14. {
- 15. _length = 100;
- 16. }
- 17.}
这个OnCreate()在Text100的定义中有一个partial 版本,是Text100的构造器中的唯一一句话(在designer.cs中可找到),换言之就是来解决基类构造问题的。
这种自动生成的类还有很多On...函数,可以解决其他基类调用问题。
本文转自火星人陈勇 51CTO博客,原文链接:http://blog.51cto.com/cheny/1100103