2009-04-13 75 views
3

當我嘗試在頁面後面的代碼中聲明公共類時,出現.net錯誤。在asp.net中使用類似公共變量的類

Partial Class _Default 
    Inherits System.Web.UI.Page 

    Public someVariable as integer 
    Public someClass as className 

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load [...] 

我得到的錯誤是BC30508: 'someClass' cannot expose type 'className' in namespace '<Default>' through class '_Default'.

這裏的目標是在訪問腳本塊類的屬性ASPX頁面上這樣<%=someClass.classProperty%>

我不知道如果我嘗試正確的方法(我已經嘗試了幾種聲明公共類的方法),或者甚至可以完成......感謝您看看它。

+0

className是如何聲明的? – driis 2009-04-13 14:07:05

回答

8

檢查您的className類型的保護等級。你忘記把它公開嗎?

該錯誤消息表示您有一些限制訪問的內容,並且您試圖以允許訪問限制以外的方式使用它。例如,如果您的className類型是internalprivate子類_Default,但您將該類型的公共成員添加爲屬性,則程序集會將類型作爲其接口的一部分公開,否則該接口不可用。

+0

Doh ...你是對的!感謝大家。 – Birk 2009-04-13 14:15:30

0

檢查_Default類的保護級別。它可能不會設置爲部分課程,並且會導致您看到的保護級別問題。

+0

他發佈的示例包括「部分」 – 2009-04-13 14:11:51

1

這幾乎可以肯定是你的「className」類的聲明。嘗試將其設置爲公開。