zoukankan      html  css  js  c++  java
  • C#编程(十九)----------部分类

    部分类

    C#中使用关键字partial把类,结构或结构放在多个文件中.一般情况下,一个类全部驻留在单个文件中.但有时候,多个开发人员需要访问同一个类,或者某种类型的代码生成器生成了一个类的某部分,所以把类放在多个文件中是有益的.

    用法: partial关键字放在class,structinterface关键字的前面.在下面的例子中,TheBigClass类驻留在两个不同的额源文件BigClassPart1.csBigClassPart2.cs.

    //BigClassPart1.cs中的内容

    partial class TheBigClass

    {

    public void MethodOne()

    {}

    }

    //BigClassPart2.cs中的内容

    partial class TheBigClass

    {

    public void Methodtwo()

    {}

    }

    编译包含这两个源文件的项目时,会创建一个TheBigClass,有两个方法.如果声明类的同时使用了下面的关键字,这些关键字就必须应用于同一个类的所有部分:

    public

    private

    protected

    internal

    abstract

    sealed

    new

    如果其中一个类为抽象类,那合并后整个类都将被视为抽象类,其中一个类为密封类,那合并后整个类都将视为密封类。例如:

    public partial class Person

    {

    public void Fun1()

    {}

    }

    public partial class Person

    {

    public void Fun2()

    {}

    }

    部分类的应用,可以在一个文件中声明部分类的属性,一个文件声明字段,一个文件声明方法.

    案例:

    using System ;

    interface ImyInterface1

    {

        void dosomething();

    }

    interface ImyInterface2

    {

        void dosomethingelse();

    }

    #region 这两个类等同于下一个类

    public partial class myClass:ImyInterface1

    {

        public void dosomething()

        {

            Console.WriteLine ("接口1的方法");

        }

    }

    public partial class myClass:ImyInterface2

    {

        public void dosomethingelse()

        {

            Console.WriteLine ("接口2的方法");

        }

    }

    #endregion

    #region 等同于上面两个类

    //public class myClass:ImyInterface1,ImyInterface2

    //{

    //    public void dosomething()

    //    {

    //        Console.WriteLine ("接口1的方法");

    //    }

    //    public void dosomethingelse()

    //    {

    //        Console.WriteLine ("接口2的方法");

    //    }

    //}

    #endregion

    class Test

    {

        static void Main()

        {

            myClass a=new myClass ();

            a.dosomething ();

            a.dosomethingelse();

        }

    }

  • 相关阅读:
    在MaxCompute中配置Policy策略遇到结果不一致的问题
    通过DataWorks数据集成归档日志服务数据至MaxCompute进行离线分析
    阿里小二的日常工作要被TA们“接管”了!
    2018年DDoS攻击全态势:战胜第一波攻击成“抗D” 关键
    基于OSS+DataLakeAnalytics+QuickBI的Serverless的查询分析和可视化BI
    威胁快报|首爆,新披露Jenkins RCE漏洞成ImposterMiner挖矿木马新“跳板”
    Lesson 7 Nehe
    Lesson 7 Nehe
    Lesson 7 Nehe
    Lesson 6 Nehe
  • 原文地址:https://www.cnblogs.com/FinleyJiang/p/7602181.html
Copyright © 2011-2022 走看看