2009-04-20 3 views
15

ネームスペースを使用して自動的にすべてのサブネームスペースを使用する方法はありますか?ネームスペースとサブネームスペース

例:

namespace Root.Account 
{ 
//code goes here 
} 

namespace Root.Orders 
{ 
//code goes here 
} 


//New File: 
using Root; 

私はRoot.Accountでコードを使用するために、私は自分のコードにRoot.Accountを使用して追加する必要があります。

私は、Rootを使って言うことができ、使用するために任意のサブネームスペースクラスを取得できるようにしたいと考えています。

これが意味をなさない場合、これは可能ですか?

ありがとうございました

+0

? –

答えて

22

いいえ、何も動作しません。downツリー。しかし、の上にツリーを使用するよう指示を使用する必要はありません。あなたが使用している場合つまり、:

namespace Root.Orders 
{ 
    // Code 
} 

を、その後Rootのいずれかの種類がすでに表示されています。

+3

さて、これは面白いです。ですから、私がRoot.Orders.OrderItemsという名前空間を持っていて、これを私のディレクティブに使用したとしましょう。私はRootとRootのクラスを利用することができます。 – CodeLikeBeaker

+2

いいえ - 検索対象のタイプの名前空間の階層の上にある名前空間だけです。つまり、usingディレクティブではなく、この "feature"を持つのはnamespaceディレクティブです。 –

1

いいえ、実際はありません。 =)

+0

まあ、私は試してみると思った:)ありがとう! – CodeLikeBeaker

0

.NET/C#はこの形式の名前空間をサポートしていません。

9

いいえ、C#のdoes not allowusingディレクティブこの:

は、名前空間を指定しなくても、名前空間の型を使用するために使用してディレクティブを作成します。 usingディレクティブでは、指定した名前空間にネストされている名前空間にアクセスすることはできません。

VB.NET、Imports文を使用ししかし、supportsやや近い行動:

Importsステートメントによって使用可能になった要素の範囲Importsステートメントを使用しているとき、あなたはどのように特定に依存します。たとえば、名前空間のみが指定されている場合、その名前空間の一意の名前を持つメンバーと、その名前空間内のモジュールのメンバーは、修飾なしで使用できます。名前空間とその名前空間の要素の名前の両方が指定されている場合、その要素のメンバーだけが修飾なしで利用可能です。あなたは

Imports Root 

を言うならば、あなただけのOrders.Whateverを言うことができるでしょう、ある

1

あなたがたりないかもしれないだけで使用してからのことを実現することができるように聞こえる、元の質問を述べた方法から:

using Root; 

あなたが後であなたのコードを明らかにする方法は次のとおりです。

Account.Class obj = new Account.Class(); 
Orders.Class obj = new Orders.Class(); 

Root.Accountを使用してコードにアクセスする必要はなく、Root.Ordersと同じコードを使用する必要はありません。 これ以外にも、名前空間を自動再帰的に使用する方法はありません。私はこれがSystemを使うことで虐待につながると思います。

-1

オブジェクトのコンテナのような名前空間。それらには、共用体、構造体、クラス、デリゲート、およびインタフェースが含まれます。 Asp.net C#のネームスペースの主な重要性は、プログラムの階層組織を作成するためです。

は、ブログの詳細を学ぶ ...あなたが実際に達成しようとしている何http://asp-net-by-parijat.blogspot.in/2015/08/what-is-namespace-in-c-need-of.html

+2

6年前に回答済みの質問に回答しました。これは役に立たない。 – CodeLikeBeaker

関連する問題