.net 继承到基类命名空间

.net 继承到基类命名空间,.net,vb.net,inheritance,.net,Vb.net,Inheritance,我有一个类a,它有一些受保护的成员,我希望我的基类B能够访问这些成员。我还希望类B位于类A下的命名空间中。这可能吗 Namespace BLL Public Class A Protected varA As Integer Protected varB As String End Class End Namespace Namespace BLL.A Public Class B Inherits A Public Sub s

我有一个类a,它有一些受保护的成员,我希望我的基类B能够访问这些成员。我还希望类B位于类A下的命名空间中。这可能吗

Namespace BLL
   Public Class A
      Protected varA As Integer
      Protected varB As String
   End Class
End Namespace

Namespace BLL.A
   Public Class B
      Inherits A
      Public Sub setA()
         varA = 3
         varB = "test"
      End Sub
   End Class
End Namespace
然后我希望能够像这样访问B类:

BLL.A.B.setA()

当我这样做时,我得到一个错误“'A'在名称空间BLL中不明确”。我做错了什么?

A不是名称空间,它是一个类。你必须把B列入A班

Namespace BLL
    Public Class A
        Protected varA As Integer
        Protected varB As String
    End Class
End Namespace

Namespace BLL
    Partial Public Class A
        Public Class B
            Inherits A
            Public Sub setA()
                varA = 3
                varB = "test"
            End Sub
        End Class
    End Class
End Namespace
我不建议这样做。该框架很少在类内部有类,尤其是公共类。但是,我只是互联网上随机出现的一个人:)


如果您真的需要名称空间,我会将类A重命名为类似CarBase的名称,并将其他类放在名为Car的名称空间中。

A不是名称空间,而是类。你必须把B列入A班

Namespace BLL
    Public Class A
        Protected varA As Integer
        Protected varB As String
    End Class
End Namespace

Namespace BLL
    Partial Public Class A
        Public Class B
            Inherits A
            Public Sub setA()
                varA = 3
                varB = "test"
            End Sub
        End Class
    End Class
End Namespace
我不建议这样做。该框架很少在类内部有类,尤其是公共类。但是,我只是互联网上随机出现的一个人:)


如果您真的需要名称空间,我会将类A重命名为类似CarBase的名称,并将其他类放在名为Car的名称空间中。

这很可能是不可能的,也不推荐这样做。请参阅:这很可能是不可能的,也不推荐。看:谢谢你的帮助。我想也许我需要重新思考我想如何构建这个。我试图完成的主要任务是让类A成为主类(例如Car),然后访问它的所有子类,如Car.Ford、Car.Chevy等。出于组织目的,我会调用基类CarBase或像命名空间HtmlControl中的类那样(带有s)。感谢您的帮助。我想也许我需要重新思考我想如何构建这个。我试图完成的主要任务是让类A成为主类(例如Car),然后访问它的所有子类,如Car.Ford、Car.Chevy等。出于组织目的,我会调用基类CarBase,或者像命名空间HtmlControl中的类一样(使用s)。