首页 > 代码库 > c#中的partial关键字(转)

c#中的partial关键字(转)

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#不可多重继承但可以有多个接口的法则.