入れ子タイプ

著者: Lewis Jackson
作成日: 8 5月 2021
更新日: 9 5月 2024
Anonim
体 と 頭 ⑦ ~ 頭の世界の「入れ子の構造」 ~
ビデオ: 体 と 頭 ⑦ ~ 頭の世界の「入れ子の構造」 ~

コンテンツ

定義-ネストされたタイプとはどういう意味ですか?

C#の入れ子型は、既存のクラスまたは構造体内で宣言された型です。コンパイル単位または名前空間内で直接宣言される非ネスト型とは異なり、ネスト型は包含(または外部)型のスコープ内で定義されます。

ネストされたタイプは、スコープ、可視性、および有効期間が含まれるタイプ内で終了する場合にのみ使用され、他のタイプには公開されません。コレクション型内の列挙子メンバーは、通常、コレクションを反復処理するネスト型として実装されます。反復子として、列挙子を使用すると、同じクライアント側のロジックを使用して、構造の基礎となるデータコレクションに関係なく、コレクションを反復処理できます。

一般に、ネストされた型は、論理的に包含型に属する状況でのみ使用されます。包含型がネストされた型に完全に依存する場合に実装され、包含型の実装の詳細をカプセル化するのに役立ちます。ネストされた型を実装するための要件なしで、その実装用にネストされた型を持つ包含型が直接使用されるシナリオでよく使用されます。


Microsoft AzureとMicrosoft Cloudの紹介|このガイドを通して、クラウドコンピューティングとは何か、Microsoft Azureを使用してクラウドからビジネスを移行および実行する方法を学習します。

Techopediaはネストされたタイプを説明します

ネストされた型は、パブリックレベルのアクセシビリティで宣言し、完全修飾名を使用することにより、プログラム内のどこからでもアクセスできます。

たとえば、AddressInformationはEmployee型内で宣言されたネストされた型であり、完全修飾名Employee.AddressInformationを使用してアクセスできます。

入れ子型には次の主要なプロパティがあります。

  • プライベート、パブリック、保護、保護された内部および内部を含むさまざまな形式のアクセシビリティを持つことができます。デフォルトでは、プライベートなアクセシビリティがあります。
  • 継承されたプライベートおよび保護されたメンバーを含む、包含型のプライベートおよび保護されたメンバーにアクセスできます。これらのメンバーにアクセスするには、包含型のインスタンスを、コンストラクターを介してネストされた型に渡す必要があります。
  • 複数のネストレベルが許可されているため、あるネストされたクラスのコードブロックを別のネストされたクラス内で定義できます。
  • 包含型から継承でき、継承することもできます。
  • ネストされた型のプライベートメンバは、包含型からは見えません。


ネストされた型は、クライアントコードによるインスタンス化のために公開する必要がある場合、またはクライアントコードで直接参照される場合は使用しないでください。論理グループ構造の名前空間の代わりに使用することはできません。