ブルーノのC#プログラミング & unity勉強日記

プログラミング素人、ブルーノの自主勉強ノートです。他のプログラミングを勉強したい方の助けになれば幸いです。その他趣味の雑記もしていきたいです

クラスやメソッドの分割定義

f:id:covory10101101276:20171012224418j:plain

みなさんこんにちは🌚

YouTubeでSASUKEの動画を見つけてみてたら時間が経つのも忘れて見入ってしまいましたブルーノです😃昔はよくやってた気もしますが最近は全然見かけなくなりましたね。またやってくれればいいのにな〜。さて今回は分割定義についてです。

分割定義について

C#ではクラスやメソッドの頭にpartialキーワードをつけることで定義を分割することができます。例で表すとこんな感じです。

例)partialクラス

partial class Bruno

{

    int x;

}

partia class Bruno

{

    x = 7;

}

 

 

これでそれぞれの中括弧{ }の中には一つの要素しかありませんが2つ目のx = 7はちゃんと一つ目のint xに格納されています。

例)partialメソッド

partial class Bruno

{

    public static void Main()

    {

        Bruno b = new Bruno();

        b.Show();

    }

    partial void Show();

}

partial class Bruno

{

    partial void Show() {

    Console.WriteLine("いえーい");

    }

}

 

パーシャルメソッドも同様別の括弧内で定義することでそれ以外の括弧内で同様の要素を使用することができます。しかし注意しなければならないことがあり、partialメソッドの戻り値はvoidで、アクセス修飾子はprivate出なければなりません。また、パーシャルメソッドの宣言と定義はそのパーシャルクラス内でなければなりません。つまりパーシャルメソッドを使いたい場合は必然的にパーシャルメソッドも使うことになります。

このパーシャルクラスたちは、個人のみで使うプログラムの場合はあまり意味がありません。しかしプロジェクトによっては複数人、もしリリースするならカスタマーを含め大量の人が目にする場合があります。そんな時、あるクラスの中に追記できるようにしたいが既存のプログラムは残しておきたい、もしくは見た目が複雑で邪魔だという時に、見えないところでこのパーシャルクラスを作り実装しておくそうです。partialキーワードがついている場合は必ずしも全てがその括弧内に収まっているとは限らないのです。今回はここまでにしておきます。

 

最近インド映画の「きっとうまくいく」をみました。インド映画特有のノリとテンポの良さが詰め込まれていて観ていて元気が湧いてきました😋これぐらい前向きに毎日を生きていきたいです笑