Minaminの日記

趣味を記事にしてる。

C#のpartialについての話。

こんにちは。みなみんです。
C#入門シリーズの続きです。

 

今回は、「partial」というキーワード(予約語)についての記事にしました。

f:id:Minamin1234:20210813232359p:plain

目次

 

partialについて

partialとは?

このキーワードをクラス名に付加すると、同じクラス名の定義を分割する事ができます。

 

英語で「partial」は「部分的」という意味なんです。
(partから変化したと思います)
まさに文字通り、「部分的」にクラスを定義するんですね。

使い方

実際にサンプルを見てもらいましょう。(Gist)

このように、同じクラス名が二つ定義されていますよね。
これは、「partial」を付加する事によって、分割して定義する事ができるんですね。

クラスの定義は最終的に、コンパイル時に結合され、解釈されます。

 

partialを使うメリット

サンプルのように、変数だけの定義、関数だけの定義を分けて書く事ができる。また、追加したい機能や変数があった時にとりあえず的に付け足しができるんですね。

こういうのは、コード量が膨大になった時に活躍するんです。

 

partialはクラス定義だけではない

「partial」はクラス定義以外に、関数の定義にも「partial」が使えるんです。

再び、サンプルを紹介します。(Gist)

サンプルのように、partialな関数を定義するときは、予め宣言をしておく必要があります。
「こういう関数名の関数を定義しますよ」っていう宣言ですかね。

また、partialな関数を定義する時は返り値は「void」限定になります。
そして、アクセスレベルは暗黙的に「private」になります。
なので、インスタンスから関数のアクセスができません。
(クラス内での呼び出しのみ)

 

筆者自身も、partialな関数を定義するメリットはわかりません。謎ですね。

 

 

この記事に誤りがあるかもしれません。その辺はご了承ください。

本記事で紹介されている方法・手法はあくまでも個人的なものです。