【问题标题】:Using a class like a public variable in asp.net在 asp.net 中使用像公共变量这样的类
【发布时间】:2010-10-19 03:23:44
【问题描述】:

尝试在我的代码隐藏页面上声明公共类时,我在 .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%>

我不确定我是否尝试了正确的方法(我已经尝试了几种声明公共类的方法)或者是否可以做到...感谢您查看它。

【问题讨论】:

    标签: asp.net vb.net class scope


    【解决方案1】:

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

    该错误消息意味着您的某些东西的访问受到限制,并且您正试图以允许超出限制的访问的方式使用它。例如,如果您的className 类型是internalprivate_Default 子类,但您将该类型的公共成员添加为属性,您的程序集将公开一个类型作为其接口的一部分,即否则无法使用。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 他发布的样本包括“部分”
        猜你喜欢
        • 2018-10-30
        • 2014-02-17
        • 2016-04-17
        • 1970-01-01
        • 1970-01-01
        • 2013-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多