2011-08-02 140 views
1

我有一個關於命名空間名稱和類的問題:如何訪問與類實例具有相同名稱的名稱空間?

如果我在名稱空間VeloConnect中有一個名爲cVeloConnect的類。 例如

namespace VeloConnect 
{ 
    public class cVeloConnect 
    { 
     // Some content 
     public void PrintMe(); 

    } 

    public class cSomeClass 
    { 
     // Some content 

    } 
} 

現在我想創建cVeloConnect的新實例,調用該實例VeloConnect,我不能再訪問VeloConnect命名空間... 如

VeloConnect.cVeloConnect VeloConnect = new VeloConnect.cVeloConnect(); 
VeloConnect.PrintMe(); 
// The below thing is not possible 
VeloConnect.cSomeClass MyClass = new VeloConnect.cSomeClass(); 

我如何可以訪問其他類,如果我不想重命名命名空間或我以前的實例?

回答

5

那麼,一個選擇是遵循命名約定,以避免這樣的事情 - 你的類不應下手c,和你的局部變量通常以小寫字母開頭。

爲了避免在聲明中使用的名稱空間在所有,你可以只使用一個using指令在你的代碼的頂部。或者,如果你真的指定的命名空間,你可以使用global::

global::VeloConnect.cSomeClass MyClass = new global::VeloConnect.cSomeClass(); 

總的來說,雖然,我不喜歡我的實際代碼中看到的命名空間 - 我喜歡有using指令,這樣我就可以用代碼正文中的簡單名稱。無論哪種方式,我會強烈敦促你開始遵循.NET naming conventions

1

命名空間的別名;

using vc=VeloConnect; 

// ... then, later .... 

vc.cVeloConnect VeloConnect = new vc.cVeloConnect(); 
VeloConnect.PrintMe(); 
// The below thing is not possible 
vc.cSomeClass MyClass = new vc.cSomeClass(); 
相關問題