Vb.net ';A类和x27类;在命名空间中不合适';名称空间a';

Vb.net ';A类和x27类;在命名空间中不合适';名称空间a';,vb.net,namespaces,Vb.net,Namespaces,好的,我有两个文件中的以下代码 ClassA.vb Namespace NamespaceA Public Class ClassA Public Enum RedirectType Item1 Item2 End Enum End Class End Namespace Namespace NamespaceA Public ClassX Public Sub MySub

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

ClassA.vb

Namespace NamespaceA

    Public Class ClassA

        Public Enum RedirectType
          Item1
          Item2
        End Enum

    End Class

End Namespace
Namespace NamespaceA

    Public ClassX

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

    End Class

End Namespace
ClassX.vb

Namespace NamespaceA

    Public Class ClassA

        Public Enum RedirectType
          Item1
          Item2
        End Enum

    End Class

End Namespace
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”中不合适


我真的不明白什么是不合适的,我怎样才能解决这个问题这两个类位于同一命名空间上。我试图为第一个类重命名名称空间,但我无法这样做,因为代码是针对现有系统的。有人能告诉我问题的原因吗?

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

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
根目录下创建一个文件夹
并将代码文件放在该文件夹中,该文件夹的名称与这些代码文件所属的
名称空间相同。

您没有使用类的实例。为什么我需要实例化它?我只是在访问类上定义的枚举。你不能,你必须有一个枚举类型的变量。是的,我可以。我告诉你,我可以访问一个类的枚举,而无需创建它的实例。请检查答案。如果没有枚举类型的属性,编译器会告诉您
重定向类型
类型
,不能在表达式中使用。