内部型のみを含む名前空間がいくつかあるクラスライブラリがあります。
ただし、アプリケーションプロジェクトでクラスライブラリを使用する場合、名前空間はインテリセンスで表示されますが、もちろん空です。他のプロジェクトでインテリセンスを使用するときに名前空間を完全に非表示にする方法はありますか?
EditorBrowsableAttribute
をすべての内部クラスにも適用しようとしましたが、それを名前空間に適用したいのですが、これはもちろん不可能です。
または、これを十分に気にかけている場合、パブリックタイプを含む名前空間にタイプを移動するだけでよい唯一のオプションですか?
クラスライブラリをどのように参照しているかによって異なります。
これを試して:
namespace ClassLibrary1
{
namespace Internal
{
internal class InternalClass
{
public int internalStuff { get; set; }
}
}
namespace Public
{
public class PublicClass
{
public int publicStuff { get; set; }
}
}
}
プロジェクト参照を介してこれを参照すると、空の名前空間が表示されます。あなたがそれのdllを参照するならば、あなたはそうしません。
私は以前にこれに直面しましたが、解決策は見つかりませんでした。プロジェクトで機能する場合と機能しない場合がある回避策のみが見つかりました。名前空間を定義する代わりに、ネストされた静的クラスを使用できますか?