0
我幾乎用現有的代碼在新文件中創建一個新類。我正在使用現有的代碼來創建一個測試類。其中一個聲明沒有編譯,並在Resharper中給我一個紅色警告,說明:如何解決C#中的錯誤「無法訪問內部類」錯誤?
無法在此處訪問內部類「...」。
我正在使用定義類的命名空間。我還有什麼遺漏?
我幾乎用現有的代碼在新文件中創建一個新類。我正在使用現有的代碼來創建一個測試類。其中一個聲明沒有編譯,並在Resharper中給我一個紅色警告,說明:如何解決C#中的錯誤「無法訪問內部類」錯誤?
無法在此處訪問內部類「...」。
我正在使用定義類的命名空間。我還有什麼遺漏?
您應該將班級標記爲public
而不是internal
。
即使您使用適當的命名空間,這也是合理的,爲什麼你會得到這樣的錯誤。原因是你通過public
類暴露和internal
類,這是不允許的。一個internal
類可以被訪問只有按類定義的組件中的類型或可以查看程序集內部類的程序集(請看InternalsVisibleToAttribute)。
如果您談論您的「現有代碼」或重複使用第三方程序集,這是相當不清楚的。如果是第三方組裝,請停止使用內部類。如果作者決定通過設計使其成爲內部的話,那麼有一些理由要這樣做。 –