2010-11-29 13 views
0

私は名前BLで名前空間Inventory_Software.BLでクラスをした、と私はInventory_Software.PL.Item_Masterクラスで、このクラスにアクセスしたいのですが、そのクラスに名前空間の前に名前を構文 using Inventory_Software.BLを使用するにもかかわらず、私は」名前空間のエラー

BL businesslayer = new BL(); 
:私は構文で BLクラスを初期化しようとするたび

'Inventory_Software.BL' is a 'namespace' but is used like a 'type' 

:mはエラーを取得します

誰でも教えてください。

答えて

5

基本的には痛みの世界にいます名前空間。ただしないでください - あなたのクラスまたは名前空間の名前を変更してください。

あなたはおそらくです。ディレクティブを使用して適切に作業しますが、それは本当にそれほどの痛みですか? (私は個人的に名前空間やクラスの名前として "BL"を使用しません。名前内にアンダースコアを使用することはありませんが、別の問題です)。

Eric Lippertにはseries of four blog件の投稿があります

+0

4つの部分はすべてここにあります:http://blogs.msdn.com/b/ericlippert/archive/tags/namespaces/ –

+0

@エリック:Doh - 残念に気付かなかった、ごめんなさい:) –

0

そのInventory_Software.BLは、あなたの代わりに、これを行うには、名前空間内の名前空間を初期化しているため:あなたのように、クラスに同じ名前を与えて起動したときに

Inventory_Software.BL businessLayer = new Inventory_Software.Bl(); 
0

コンパイラは、名前空間を参照しているかどうかを区別することはできません。名前空間をBLに変更しないでください。または、クラス名をBL以外に変更してください。たぶんBusinessLayerそれを呼び出す代わりに...

0

はあなたがBLBLというクラスと呼ばれるnamespaceを持っているかどうかを確認するために確認しました。その場合は、クラスの完全な参照を使用するか、クラス/名前空間の名前を変更する必要があります。

0

BLのオブジェクトを作成しようとしています。しかし、BLはクラスではありません。これは単なる名前空間です。

クラスのオブジェクトを作成するには、クラスの名前を指定します。あなたのコードでは、あなたが

ので

パブリッククラスNameofYourClass

{ここ

//あなたの方法

}として何かを持っされている必要があり、この場合には、次のことができるようになります書くこと

NameofYourClass yourObject = new NameofYourClass(); 
0

あなたはクラスInve ntory_Software.BL.BLで、Inventory_Software.PL.Item_Masterのスコープからアクセスしようとしています。

予期しない名前のBLは、 'Inventory_Software.BL.BL'ではなく 'Inventory_Software.BL'に解決されます。

次usings Inventory_Software.BLを使用して

のいずれかを追加することによって、と離れて行うことができます。 または単にBLを使用して ;