关于 c# 的 Partial Class
2005-08-12 10:13
344 查看
Partial Type
ASP.NET 2.0和Avalon都使用了Partial Class. 这样用户的代码和工具生成的代码可以共同组成一个Class.对Partial Type的支持来自编译器. 4个要点如下:我们把partial 叫做modifier而不是关键字.
同一类型在不同文件里面都需要使用partial
可以只在一个文件,两个文件,或者更多文件中使用partial
Base class只需要声明一次;若多次声明必需完全一致.
例子:
Contact1.cs
[/b]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 [/b]
using System;
namespace Realize.Net.Potential.Sample1
{
public partial class Contact
{
string firstName;
string lastName;
}
}
Contact3.cs [/b]
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 [/b]
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: [/b]
csc /out:MySample1.exe /t:exe *.cs[/b]
深入了解Generics, iterators, anonymous methods, and partial classes的最佳读本就是更新的C#2.0Specification.
相关文章推荐
- C# Partial Class(存档)
- 关于C#中泛型类型参数约束(where T : class)
- 【More Effective C#】Partial Class是怎樣煉成的?
- 关于 C# 中 Struct 和 C++/Cli 中 value class 的 new 和 gcnew 的区别
- C#中的partial class(部分类)
- c# partial class 的用法
- 【.Net码农】C#中的partial class(部分类)
- C# 关于 const、readonly 以及 class、struct理解
- C#中的partial class(部分类)(转)
- 关于Partial Class
- C#:iterator 迭代器/partial class 分布类/泛型
- Part 61 to 63 Talking about partial class and partial method in C#
- 在C#中,能放在class Student类前面的关键字包括:abstract、delegate、extern、internal、partial
- C#:iterator 迭代器/partial class 分布类/泛型
- 在C#中,能放在class Student类前面的关键字包括:abstract、delegate、extern、internal、partial、
- C#中的部分类(partial class)
- 【More Effective C#】Partial Class是怎样炼成的?
- c# : 关于代码分离页 代码页面中的 Partial 详解!
- 关于C#中泛型类型参数约束(where T : class)
- c# partial class