我有一個C#類,它使用關鍵字爲一些公共屬性定義了的幾個別名。這會導致「不一致的可訪問性」編譯器錯誤,因爲別名定義的類型顯然不公開。我怎樣才能使別名定義的類型公開,以便錯誤消失?如何使用別名public來避免「不一致的可訪問性」錯誤?
// Alias defined at the top of the source file just below the other "using"
// "using" statements that bring in the needed modules.
using TDynamicStringArray = System.Collections.Generic.List<string>;
// Public property defined with the type alias.
public TDynamicStringArray Strs
{
...
}
這裏是從編譯器收到的錯誤:
Error 2 Inconsistent accessibility: property type 'TDynamicStringArray' is less accessible than property 'Strs'
我試圖把公共使用的前面,但不起作用。我看了幾個關於「不一致的可訪問性」主題的SO線程,但沒有看到任何涉及使用關鍵字使用創建的類型別名。
我使用別名的原因是因爲我從其他語言轉換了一些舊代碼,並且它簡化了轉換過程。否則,我只會使用不帶別名的基礎類型。
出於興趣,我可能會錯過一些東西,但爲什麼當你可以使用'TDynamicStringArray'時,'List'就像寫入和讀取一樣容易? –
2013-03-24 22:01:54
我同意@AshBurlaczenko,即使它是使用完全限定的名稱來定義,它似乎很愚蠢的使用別名 – finman 2013-03-24 22:09:08
@AshBurlaczenko - 正如我在我的帖子中所說,我正在轉換舊的代碼和類型在舊代碼中交織的方式使得更容易使用別名。 – 2013-03-24 22:14:01