在asp.net中使用类似公共变量的类

时间:2009-04-13 14:03:28

标签: asp.net vb.net class scope

我在尝试在页面后面的代码上声明一个Public类时,在.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%>

我不确定我是否正在尝试正确的方法(我已经尝试了几种方式来宣布公共课)或者甚至可以做到这一点......感谢您查看它。

3 个答案:

答案 0 :(得分:8)

检查className类型的保护级别。你忘了将它标记为公开吗?

该错误消息表示您拥有限制访问权限,并且您尝试以允许在限制之外进行访问的方式使用它。例如,如果您的className类型为internalprivate子类_Default,但您添加该类型的公共成员作为属性,则程序集将公开键入作为其接口的一部分,否则无法使用。

答案 1 :(得分:1)

几乎可以肯定是你的“className”类的声明。尝试将其设置为公开。

答案 2 :(得分:0)

检查_Default类的保护级别。它可能不会设置为部分类,这将导致您看到的保护级别问题。