c#中的partial关键字
Partial:
这是C#2.0的新特性 Partial关键字起到把一个class分段组合作用,能用于多个接口或一个继承
代码片断:
namespace Com.TommyLib
{
public interface A
{
void A_Fun1();
void A_Fun2();
}
}
//新建B.cs
namespace Com.TommyLib
{
public partial class B
{
public B()
{
}
}
public partial class B : A //这里用Partial 分段加入B.cs 有 interface A接口
{
public void A_Fun1()
{
throw new NotImplementedException();
}
public void A_Fun2()
{
throw new NotImplementedException();
}
}
}
//新建C.cs
namespace Com.TommyLib
{
public class C
{
public C()
{
}
protected void C_Fun()
{
Console.WriteLine("C_Fun");
}
public void C_Fun1()
{
Console.WriteLine("C_Fun2");
}
}
public class D
{
}
public interface E
{
void E_Fun();
}
public partial class B:C //partial 分段 class B 这里继承了 class C
{
public void B_Fun()
{
Console.WriteLine("B_FUN");
C_Fun();
}
}
/*
//不能继承多个类,B继承了class C,不能继承classD ,遵循C#不能多重继函的规定
public partial class B : D
{
}
*/
public partial class B : E //可以是多重接口,这里class B 有 interface E接口
{
#region E Members
public void E_Fun()
{
throw new NotImplementedException();
}
#endregion
}
}
A.cs.B.cs C.cs 三个文件有二个interface.三个class ,class B 有 A,E两个接口.继承于class C.
C#2.0 partial关键字能够一个class 文件分成几部分写.遵循C#不可多重继承但可以有多个接口的法则.
文章引用自:
Partial:
这是C#2.0的新特性 Partial关键字起到把一个class分段组合作用,能用于多个接口或一个继承
代码片断:
namespace Com.TommyLib
{
public interface A
{
void A_Fun1();
void A_Fun2();
}
}
//新建B.cs
namespace Com.TommyLib
{
public partial class B
{
public B()
{
}
}
public partial class B : A //这里用Partial 分段加入B.cs 有 interface A接口
{
public void A_Fun1()
{
throw new NotImplementedException();
}
public void A_Fun2()
{
throw new NotImplementedException();
}
}
}
//新建C.cs
namespace Com.TommyLib
{
public class C
{
public C()
{
}
protected void C_Fun()
{
Console.WriteLine("C_Fun");
}
public void C_Fun1()
{
Console.WriteLine("C_Fun2");
}
}
public class D
{
}
public interface E
{
void E_Fun();
}
public partial class B:C //partial 分段 class B 这里继承了 class C
{
public void B_Fun()
{
Console.WriteLine("B_FUN");
C_Fun();
}
}
/*
//不能继承多个类,B继承了class C,不能继承classD ,遵循C#不能多重继函的规定
public partial class B : D
{
}
*/
public partial class B : E //可以是多重接口,这里class B 有 interface E接口
{
#region E Members
public void E_Fun()
{
throw new NotImplementedException();
}
#endregion
}
}
A.cs.B.cs C.cs 三个文件有二个interface.三个class ,class B 有 A,E两个接口.继承于class C.
C#2.0 partial关键字能够一个class 文件分成几部分写.遵循C#不可多重继承但可以有多个接口的法则.
文章引用自: