0

好的,我在两个文件中有以下代码。

A类.vb

Namespace NamespaceA

    Public Class ClassA

        Public Enum RedirectType
          Item1
          Item2
        End Enum

    End Class

End Namespace

X类.vb

Namespace NamespaceA

    Public ClassX

       Public Sub MySub
            If ClassA.RedirectType.Item1 Then 'Error occurs here
            End If       
       End Sub      

    End Class

End Namespace

现在我遇到了一个错误

“ClassA”在命名空间“NamespaceA”中不合适。

我真的不明白什么是不合适的,我该如何解决这个问题?这两个类驻留在同一个命名空间中。我试图重命名第一个类的命名空间,但我不能这样做,因为代码是针对现有系统的。有人可以告诉我问题的原因是什么吗?

4

1 回答 1

0

您需要一个类的实例,并且您需要一个 Enum 类型的变量,以便您可以设置它并检查它的值。

Namespace NamespaceA
  Public Class ClassA
    Public Property _RedirectType As RedirectType
    Public Enum RedirectType
      Item1
      Item2
    End Enum
  End Class
End Namespace

Namespace NamespaceA
  Public Class ClassX
     Private clsA As New ClassA
     Public Sub MySub
        If clsA._RedirectType = ClassA.RedirectType.Item1 Then
           'now it works
        End If
        If ClassA.RedirectType = ClassA.RedirectType.Item1 Then
           'RedirectType is a Type and cannot be used in an expression
        End If       
     End Sub      
  End Class
End Namespace

用于ASPX创建一个文件夹并将代码文件放置在该文件夹中,该文件夹与这些代码文件所属root directory的名称相同。Namespace

于 2013-09-24T02:45:08.660 回答