如何不将类暴露给任何其他类但只有一个?(C#)

naw*_*fal 1 c# encapsulation namespaces class

我有一个名称空间ABC,它有一个表单类,F和一个普通的类C.现在我有另一个名称空间XYZ,有许多不同的类.现在,F仅用于C和程序中的其他任何地方.每个其他类使用C,而不是F.

在visual studio(2010)中,从XYZ命名空间中的类我可以看到在intellisense下拉列表中列出的F(因为我引用了ABC来使用C).我怎么能防止这种情况?我只想要那里的C. 只要我可以使用XYZ中的C,任何方法都足够了.

谢谢.

Jas*_*own 5

你能在你的C类中创建一个嵌套类吗?

public class C
{
    public C()
    { }

    class F : Form
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

我不确定这是否适用于您的场景,但它可以解决Intellisense问题,同时满足上面列出的要求.