我有一個命名空間ABC,它有一個窗體類F和一個普通的類C.現在我有另外一個具有許多不同類的命名空間XYZ。現在,F只能在C程序中使用,而在其他地方無法使用。其他類使用C而不是F.如何不將類暴露給任何其他類而只有一個類? (C#)
在Visual Studio(2010)中,從XYZ命名空間中的類我可以看到F列在intellisense下拉列表中(因爲我引用了ABC來使用C)。我怎樣才能防止呢?我只想在那裏。只要我可以從XYZ使用C,任何方法都可以。
謝謝。
我有一個命名空間ABC,它有一個窗體類F和一個普通的類C.現在我有另外一個具有許多不同類的命名空間XYZ。現在,F只能在C程序中使用,而在其他地方無法使用。其他類使用C而不是F.如何不將類暴露給任何其他類而只有一個類? (C#)
在Visual Studio(2010)中,從XYZ命名空間中的類我可以看到F列在intellisense下拉列表中(因爲我引用了ABC來使用C)。我怎樣才能防止呢?我只想在那裏。只要我可以從XYZ使用C,任何方法都可以。
謝謝。
是否有任何理由不能將它放在另一個名稱空間中以將其隱藏在其他類中,例如命名空間ABC.Forms?
如果它不是一個表單類(因此是一個部分類,如果您使用的是最新版本的.net) - 我會說,爲什麼不把它作爲C的內部類 - 但我懷疑與表格課整齊。
我會去命名空間的變化。
你可以讓F成爲C類中的嵌套類嗎?
public class C
{
public C()
{ }
class F : Form
{
...
}
}
我不確定這是否適用於您的方案,但它可以解決Intellisense問題,同時滿足上面列出的要求。
不,我不想將ABC移動到另一個命名空間。我沒有問題,使窗體類內部類到C,但它可能與表單類? – nawfal
嗯,如果表單類完全是代碼而不是通過Visual Studio設計器製作的,那麼我看不出爲什麼沒有。不過,我想這不是這種情況,在這種情況下,表單被分成兩個部分類,並且你不能只將它嵌入一個嵌入類C中。 – iandotkelly
是的,你的是正確的,它分成兩部分類,但我不介意做一個。我想我可以將所有的初始化部分包含到一個類中。感謝您的幫助 – nawfal