- PR -

サブクラスのサブクラスのサブクラスの構造体

投稿者投稿内容
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-02-15 18:34
階層化できるエディタじゃないと、もう付いていけません。
と言うよりも、階層化できるエディタでも厳しいです。
インデントも、ここまで来ると流石に分かりにくいです。

そこで Partial を使ってクラスの宣言だけを呼ぶ側のクラスに残して、後は別ファ
イルにするとか、呼び出し側クラスの後ろに列挙していこうかと思っているんです
が、こういう場合、そもそも皆さんはどうしているんでしょうか?

Partial は 2005からですから、今までも同様の問題が生じていたように思うのです
が、何か良い方法があれば教えていただけると助かります。

言い訳ですが・・・

VB2005 を手に入れてから、快適に開発できるようになりました。
独立性の高いものをクラスにして、その中から更に独立性の高いものをクラスにして、
気が付いたら件名のような状態になっていました。
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-02-15 18:47
どういう状態になっているのか日本語だけじゃ少しわかりづらいです。

サブクラスというのは、派生クラスの事ですか?それとも、内部クラスの事ですか?
インデントというからには、内部クラスの事でしょうか。
しかし、内部クラスをそんなに頻繁に使う事もないでしょうし…。


_________________
囚人のジレンマな日々
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-15 19:01
引用:

R・田中一郎さんの書き込み (2006-02-15 18:34) より:

インデントも、ここまで来ると流石に分かりにくいです。


「インナークラス」のことでしょうか?
でも、構造体なんですよね... 値型だとムダが大きくなるような。

引用:

独立性の高いものをクラスにして、その中から更に独立性の高いものをクラスにして、
気が付いたら件名のような状態になっていました。


ここだけ見ると、「派生クラス」にも見える...

まあ、インデントとあるので「内包の構造体」なんでしょうけど、普通はクラスを使います。
また、パッケージ単位で考えるならば、名前空間にも目を向けてやってください。

.NET Framework のどこで、どんな時に、インナークラスを使っているのを見るのも一興かと思います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-02-15 19:06
引用:

囚人さんの書き込み (2006-02-15 18:47) より:

サブクラスというのは、派生クラスの事ですか?それとも、内部クラスの事ですか?
インデントというからには、内部クラスの事でしょうか。
しかし、内部クラスをそんなに頻繁に使う事もないでしょうし…。



その内部クラスです。orz

引用:

囚人さんの書き込み (2006-02-15 18:47) より:

どういう状態になっているのか日本語だけじゃ少しわかりづらいです。



こんな感じです。

コード:
public class 表コントロール : inherits system.windows.forms.datagridview
    public class 削除
        public class イベント連絡用
        end class        
    end class

    public class 編集
        public class イベント連絡用
        end class        
    end class

    private class 印刷
        private class 頁印刷
            private structure 現在印刷位置
            end structure
            private class セル印刷
                private structure 印刷域
                end structure
            end class
        end class
    end class
end class



この間に、イベントやプロパティやメソッドが含まれると訳が分からなくなる訳です。
アウトライン編集機能を使って、必要な部分だけど展開して編集して閉じる、とやっ
ている間は、ある程度快適なのですが、ラッピングしたりすると同じプロパティ名が
出てきたり、どこをいじっているのかがわからなくなったりします。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2006-02-15 19:19
ぱっと考えれば、"削除"や"編集"は機能になるんじゃないでしょうかね。
削除クラスというのはどんな物や事を表現するために作りました?
アンドゥするために、"ユーザーの操作"を表すためとかですか?
117
ベテラン
会議室デビュー日: 2005/05/09
投稿数: 94
お住まい・勤務地: 大阪府
投稿日時: 2006-02-15 19:20
内部クラスを濫用する必要性から再検討したほうがよいのでは

#例からはクラスをネストさせる必要性が感じられません.
#むしろ手段と目的の逆転の気配が.
_________________
# Future Is On Fire !
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-02-15 19:23
引用:

じゃんぬねっとさんの書き込み (2006-02-15 19:01) より:

まあ、インデントとあるので「内包の構造体」なんでしょうけど、普通はクラスを使います。
また、パッケージ単位で考えるならば、名前空間にも目を向けてやってください。

.NET Framework のどこで、どんな時に、インナークラスを使っているのを見るのも一興かと思います。



大きな処理をさせようとした時に、それが独立性が高くて汎用性が低い場合に非公開
なクラスにしているのですが、元のクラスと並列にするのが一般的なんでしょうか?

#先ほど試したら、内部クラスを Partial で別の場所に書くことってできないみた
いです。orz
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-02-15 19:28
引用:

一郎さんの書き込み (2006-02-15 19:19) より:

ぱっと考えれば、"削除"や"編集"は機能になるんじゃないでしょうかね。
削除クラスというのはどんな物や事を表現するために作りました?
アンドゥするために、"ユーザーの操作"を表すためとかですか?



表を処理するためだけの機能です。
表コントロールクラスの中で、行の削除に関する部分を下請けするためのクラス
です。

引用:

117さんの書き込み (2006-02-15 19:20) より:

内部クラスを濫用する必要性から再検討したほうがよいのでは

#例からはクラスをネストさせる必要性が感じられません.
#むしろ手段と目的の逆転の気配が.




ネストはわかりにくいので、別のファイルなどに移したいのですが、下請け処理
のためのクラスなので、公開するのもどうかと思っているのです。
大量の非公開メソッドを表コントロールクラスに置くのも混乱しそうです。

スキルアップ/キャリアアップ(JOB@IT)