R.Tanaka.Ichiro's Blog

主にC# な話題です

目次

Blog 利用状況

ニュース

部分型定義

部分型定義によって、クラス・構造体・インターフェイスを複数のファイルに分割することができます。

例えば、C# で書かれた以下のクラスがあったとします。


ファイル名:MyClass.cs

public class MyClass : MyBaseClass{
  public MyClass() {
    // コンストラクタ
  }
  
  public void Method1() {}
  public void Method2() {}
  public void Method3() {}
}



これを

パーシャルクラス

にして、複数のファイルに記述してみます。
以下は、各ファイルだと思って下さい。


ファイル名:MyClass.cs

public partial class MyClass : MyBaseClass {
  public MyClass() {
    // コンストラクタ
  }
  public void Method1() {}
}



ファイル名:MyClass1.cs

partial class MyClass {
  public void Method2() {}
}



ファイル名:MyClass2.cs

partial class MyClass {
  public void Method3() {}
}



このように、1 つのクラスを複数のファイルに分割して記述することができます。

投稿日時 : 2007年4月4日 10:28

Feedback

# re: 部分型定義 2007/04/04 10:54 とりこびと

同じファイル内じゃできないんでしたっけ?

# re: 部分型定義 2007/04/04 10:55 とりこびと

って思ったんですが、「部分型定義によって」という内容ならエントリ自体は意味が通ることに気付きました。すみません。m(_ _)m

# re: 部分型定義 2007/04/04 11:48 επιστημη

partialってやつ、便利には違いないけども僕にはどーも居心地が良くねぇです。

ソース覗いたら partial class XXX と書いてある。
てことは”これですべて"じゃない。

なんか似た名のファイル開けたらここにもpartial class XXX と書いてある。
でも"これですべて"じゃない。

class XXX の全貌は ずべての partial class XXX をかき集めたものなんだが、
"これですべて"である確証が得られない。

…うーむ。

# re: 部分型定義 2007/04/04 14:51 中博俊

C++のばあいHみればってのはありますけど、cppだけだと、どれで全体かはわかりませんよね。
ほかにも上の方にあるprivateがhにかかれていないかもしれないし。

それより7月からMVPの田中さんが、後3ヶ月なにをしてくれるか楽しみです。
#右の柱沿革参照

今回は叫びがないのが謎

# re: 部分型定義 2007/04/04 15:11 επιστημη

> cppだけだと、どれで全体かはわかりませんよね。

そらまそぉですが、少なくともpublic/protectedなもんについては
ひとつにまとまっててほしいなーとか思っちゃいます。

生成物からインタフェースを引きずり出すからくりを持たないC/C++屋
なればこそ感じる居心地の悪さとでも申しましょうか。

それよりあたしゃ受賞記念講演が楽しみです。
素敵だし爽やかで心の琴線に触れるお話に今からワクテカっすー♪

# re: 部分型定義 2007/04/04 16:00 R・田中一郎

とりこびと さん

>同じファイル内じゃできないんでしたっけ?

まだ試していないのです^^;
ちなみに、このテーマは「次回に続く・・・」です。

今度から、続く・・・って書こうかな。

-------------------------------------------------------
επιστημη さん

>partialってやつ、便利には違いないけども僕にはどーも居心地が良くねぇです。

なるほど、確かにそうですね。
僕は、フォルダを切ってまとめて入れて、ファイル名も工夫しているのですが、それもローカルルールでしかない訳ですからね。

で、ちょっと思いついた方法があるのですが、ネタになりそうなので後で書くことにします。

-------------------------------------------------------
中博俊 さん

>それより7月からMVPの田中さんが、後3ヶ月なにをしてくれるか楽しみです。

速攻で修正しました。
ご指摘ありがとうございます。

ついでに叫びも忘れていました。
早速修正しておきます。

# re: 部分型定義 2007/04/04 21:33 Jitta

 もう一ひねりください。
「分割することができるよ」で終わっちゃうと、「だから何?」「それで?」ってなっちゃいます。

 分割できることによって、どんな利点があるのでしょう?なぜ、分割宣言することができるようにしたのでしょう?

# re: 部分型定義 2007/04/05 10:30 R・田中一郎

Jitta さん

>もう一ひねりください。

文章のぶった切り方が悪かったようです。
すみません^^;

# 部分型定義(その2) 2007/04/05 10:46 R.Tanaka.Ichiro's Blog

部分型定義(その2)

# 部分型定義(その2) 2007/04/05 10:48 R.Tanaka.Ichiro's Blog

部分型定義(その2)

# Super Site 2011/08/25 0:35 XRumer

Strange but true. Your life is expensive.

タイトル
名前
Url
コメント