首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > Partial Class
【标  题】:Partial Class
【关键字】:Partial,Class
【来  源】:http://blog.csdn.net/lyamlf_net/archive/2007/01/29/1497191.aspx

Partial Class

转自:http://blog.joycode.com/zhanbos/archive/2004/05/25/22402.aspx
ASP.NET 2.0和Avalon都使用了Partial Class. 这样用户的代码和工具生成的代码可以共同组成一个Class.对Partial Type的支持来自编译器. 4个要点如下:
  1. 我们把partial 叫做modifier而不是关键字.
  2. 同一类型在不同文件里面都需要使用partial
  3. 可以只在一个文件,两个文件,或者更多文件中使用partial
  4. Base class只需要声明一次;若多次声明必需完全一致.
例子:
Contact1.cs
using System; 
namespace Realize.Net.Potential.Sample1 

  
public partial class Contact 
  

    
public Contact(string firstName, string lastName) 
    

      
this.firstName = firstName; 
      
this.lastName = lastName; 
    }
 

    
int partial = 0
    
private void PartialIsNotAKeyword() 
    

      
partial++
    }
 
  }
 

  
public partial class AdvancedContact: Contact 
  

    
public AdvancedContact(string firstName, string lastName, string address) : base(firstName, lastName) 
    

      
this.address = address; 
    }
 
  }
 
}
 
Contact2.cs
using System; 
namespace Realize.Net.Potential.Sample1 

  
public partial class Contact 
  

    
string firstName; 
    
string lastName; 
  }
 
}
 
Contact3.cs
using System; 
namespace Realize.Net.Potential.Sample1 

  
public partial class Contact 
  

    
public virtual string Name 
    

      
get return firstName + " " + lastName; } 
    }
 
  }
 

  
public partial class AdvancedContact 
  

    
string address; 
    
public override string Name 
    

      
get 
      

        
return base.Name + " at " + address; 
      }
 
    }
 
  }
 
}
 

MainFun.cs

using System; 
namespace Realize.Net.Potential.Sample1 

  
public class MainFunc 
  

    [STAThread] 
    
static int Main (string[] args) 
    

      Contact contact 
= new Contact("Zhanbo""Sun"); 
      Console.WriteLine(contact.Name); 
      AdvancedContact advContact 
= new AdvancedContact("Zhanbo""Sun"" 1 Microsoft Way "); 
      Console.WriteLine(advContact.Name); 
      
return 0
    }
 
  }
 
}
 

 

To Compile:
csc /out:MySample1.exe /t:exe *.cs
 
深入了解Generics, iterators, anonymous methods, and partial classes的最佳读本就是更新的C#2.0Specification.
 
AjaxPro.NET框架生成高效率的Tree:【上一篇】
Rundll32使用技巧 使用Shell打开选择文件对话框以及其它:【下一篇】
【相关文章】
  • 架构基于纯Class体系的Common Type System 系统的困惑
  • struct和class区别的背后
  • 原有eclipse的类移植到myeclipse的编译问题(UnsupportedClassVersionError)
  • JavaScript 应用类库-S.Sams Lifexperience ScriptClassLib
  • JavaBean与Java的Class的关系
  • JComponent Class
  • 如何在eclipse中,选中java文件,快速定位到class
  • java.lang.UnsupportedClassVersionError问题的解决方法
  • java.lang.IncompatibleClassChangeError
  • java.lang.NoClassDefFoundError bshEvalError
  • 【随机文章】
  • Add new URL for CGI in Apache
  • CorelDraw10之和风插画——盛夏之花
  • 9*9表(可根据需要扩展)
  • 黑客基础:网络经典命令行
  • log4j和common-logging结合使用
  • 综合跳频的研究
  • WinXP安全漏洞系统9 DirectX 中未经检查的缓冲区漏洞
  • 令人耳目一新的雅虎 A Brand New Yahoo!
  • 为什么大公司的产品越做越烂
  • Java开源Web爬虫
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.