zoukankan      html  css  js  c++  java
  • 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#不可多重继承但可以有多个接口的法则.

  • 相关阅读:
    JavaWeb学习(17):优化三层(加入接口和 DBUtil)
    [每日一题]:The Lazy Cow(silver)
    JavaWeb学习(16): 三层架构模式实现简单的学生管理系统(内含数据库)
    BZOJ3275Number——二分图最大权独立集
    BZOJ3438小M的作物——最小割
    BZOJ2127happiness——最小割
    BZOJ3894文理分科——最小割
    BZOJ2150部落战争——最小路径覆盖
    BZOJ4205卡牌配对——最大流+建图优化
    BZOJ4032[HEOI2015]最短不公共子串——序列自动机+后缀自动机+DP+贪心
  • 原文地址:https://www.cnblogs.com/coolsundy/p/3776664.html
Copyright © 2011-2022 走看看