2012-10-26 24 views
3

我建立一個這就是所謂的「Fieldsearch」庫和我需要人來調用它是這樣的:「富」是「命名空間」,但使用像一個「類型」

FieldSearch x = new FieldSearch(); 

問題是,如果我的解決方案被稱爲FieldSearch而我的類庫被稱爲FieldSearch.Lib,我無法調用實際的類FieldSearch

'Foo' is a 'namespace' but is used like a 'type' 

你有什麼建議我這種情況下做的,SANS打電話給我實際的類別的東西嗎?

+5

.NET編碼標準是不命名一個類型與其命名空間相同。 –

+1

FieldSearch.FieldSearch x = new FieldSearch.FieldSearch()'? –

+1

如果可以,請更改您的類名稱,否則使用它的完全限定名稱,如'namespace.Type' FieldSearch.FieldSearch'。 –

回答

11

一般來說,最好的做法是對名稱空間使用複數形式,對其中的類使用單數形式。例如,System.Windows.Forms包含一個名爲Form的類。

所以在這個例子中,你的名字空間可以被調用FieldSearches(或者如果你想使用那個約定,就是CompanyName.ProductName.FieldSearches)。現在「FieldSearch」類將不匹配命名空間。

+0

你搖滾。謝謝! –

+0

呃,當複數形式的東西與單數相同時會發生什麼?例如,多個軟件仍然是軟件。 –

相關問題