ラベル Partial の投稿を表示しています。 すべての投稿を表示
ラベル Partial の投稿を表示しています。 すべての投稿を表示

2018年2月21日水曜日

パーシャル宣言の話

今回はPartial宣言の話です。

Partial宣言


クラスの宣言をするにあたって、分割した宣言をしたい場合があります。そのためににPartial宣言というものがあります。そのような宣言をされたクラスを部分クラスと呼びます。

クラスの開発を複数のプログラマが行う場合や、自動生成されたクラス宣言、たとえばVisual Studioが吐き出した宣言に対して、自動生成されたファイルに手を加えることなく機能の追加を行うような場合に有効な方法です。

/*
 * Partial宣言の学習
 * Partial宣言を外すと、クラス宣言の重複でエラーになるよ
 */
using System;

namespace sample11
{
    class Program
    {
        static void Main(string[] args)
        {
            Person p = new Person();
            p.name = "Gustav";
            p.age = 56;
            p.print();
            p.printAll();
            Console.ReadKey();
        }
    }

    public partial class Person  <-- Partial宣言
    //public  class Person
    {
        public string name;
        public void print()
        {
            Console.WriteLine("My name is " + name);
        }
    }

    public partial class Person  <-- Partial宣言
    //public  class Person
    {
        public int age;
        public void printAll()
        {
            Console.WriteLine("My name is " + name + ". I'm " + age + " old.");
        }
    }
}

Partial宣言は、分割して宣言するクラス宣言全てに必要です。Partial宣言を忘れると、クラス宣言の重複でエラーになります。

追記
C++では、クラスの分割宣言はできないそうです。ソースファイルを見てクラスの全貌がわからないのは不安、という考え方もあって、なかなか難しい問題ですね。


今回はこれで終わりです。