2017-02-16 9 views
0

クラス階層を入れ子にしたいと思います。 に役立つものは、と分類されます。グループ Intellisenseを使用している間は、ジャンル別にオブジェクト(主にプロパティ)があります。から入れ子のクラス(またはプロパティのグループ化方法)

、すなわち:

Class MyHouse 
    [+] Property Tv 
    [+] Property Kitchen 
    [+] Property Radio 
    [+] Property Bathroom 
    [+] Property Computer 
    [+] Property Crib 
    [-] Property Bedroom 
      Get... 
      Set... 
     End Property 
End class 

:を

Class MyHouse 
    | 
    |-----Class Rooms 
    |   [+] Property Bathroom 
    |   [+] Property Bedroom 
    |   [+] Property Kitchen 
    |   ... 
    | 
    |-----Class Objects 
    |   [+] Property Radio 
    |   [+] Property Tv 
    |   [+] Property Computer 
    |   [+] Property Crib 
    |   ... 
    | 
    End class  


主な目的intellisを有することです階層を使用してください。

Dim MyHouse_ as new MyHouse() 
     ------------- 
MyHouse_.| Rooms  | 
     | Objects | 
     ------------- 


だから私は別の内部クラスを入れ子になった、とはそれがメンバーだを共有:

Friend class MyHouse 
| 
| Friend class Rooms 
| | 
| | Private shared kitchen_ as clsRoom 
| | Friend shared Property prop_kitchen 
| |  Get 
| |  Set 
| | End Property 
| | ... 
| | 
| End class 
|  ... 
| 
End Class 

私は新しいオブジェクトを作成し、アクセスしたいときに問題がされますネストされたプロパティですが、次のエラーが表示されます。

access of shared member constant member qualifying expression will not be evaluated  

しかし、私はサブクラスをインスタンス化したくありません。

クラス全体を「整理」し、そのメンバーに直接アクセスするための良い方法を探しています。

これはどうしてですか?

答えて

0

私の質問に答える:

行うための適切な方法は、 に単純だった - を分離両方のクラスを維持するには - メインの親クラスで

をサブクラスの新しいインスタンスを追加するには次のようになりますフィールドまたはプロパティ(完了した宣言によって異なります)が、自分の目的であるこの「ネストされた」階層を持ちます。

これにより、私は巨大なクラスをもっと素早く整理することができました。 希望すると助かります

関連する問題