DOBON.NET DOBON.NETプログラミング掲示板過去ログ

クラスの作成方法

分類:[.NET]

はじめまして。
いつもお世話になっております。

突然ですが、『メソッド.メソッド.プロパティ』といったクラスの作成方法がわからなくて、困っております。
具体的な例を示しますと、

System.Text.Encoding.GetEncoding("Shift-JIS").GetBytes(文字列).Length

がいい例だと思うのですが、GetEncodingはメソッド、GetBytesもメソッド、Lengthはプロパティ。このようなクラスはどうやって作成すればよいのでしょうか?
いろいろ調べたのですが探し出すことができませんでした。
よろしかったらご回答の程、宜しくお願い致します。
2004/10/02(Sat) 22:06:29 編集(投稿者)

> 突然ですが、『メソッド.メソッド.プロパティ』といったクラスの作成方法がわからな> System.Text.Encoding.GetEncoding("Shift-JIS").GetBytes(文字列).Length
>
> がいい例だと思うのですが、GetEncodingはメソッド、GetBytesもメソッド、Lengthはプロパティ。このようなクラスはどうやって作成すればよいのでしょうか?
> いろいろ調べたのですが探し出すことができませんでした。
> よろしかったらご回答の程、宜しくお願い致します。

次のように書き下してみるとわかりやすくなります。

System.Text.Encoding enc = Encoding.GetEncoding("Shift-JIS");
byte[] b = enc.GetBytes(文字列);
b.Length

つまり、それぞれのメソッドが操作対象のクラスのインスタンス
を返すようにすればいいと思います。
  • 題名: Re[1]: クラスの作成方法
  • 著者: ぽぽ
  • 日時: 2004/10/02 18:36:33
  • ID: 6464
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
■No6459に返信(アップルティーさんの記事)
> はじめまして。
> いつもお世話になっております。
>
> 突然ですが、『メソッド.メソッド.プロパティ』といったクラスの作成方法がわからなくて、困っております。
> 具体的な例を示しますと、
>
> System.Text.Encoding.GetEncoding("Shift-JIS").GetBytes(文字列).Length
>
> がいい例だと思うのですが、GetEncodingはメソッド、GetBytesもメソッド、Lengthはプロパティ。このようなクラスはどうやって作成すればよいのでしょうか?
> いろいろ調べたのですが探し出すことができませんでした。
> よろしかったらご回答の程、宜しくお願い致します。

Encoding.GetEncoding()で返されたクラスの中にGetButes()メソッドがあって、そのメソッドから返されたクラスのなかにLengthプロパティがあるということ。
メソッドやプロパティを何重にも重ねて作成することはできんよ。
クラスの仕組みが理解できてないんじゃないの?そうじゃなきゃ、自分でクラスを作るなんてむりだよ。

DOBON.NET | プログラミング道 | プログラミング掲示板