从外部.vb文件导入/调用类vb.net

从外部.vb文件导入/调用类vb.net,vb.net,function,file,split,partial-classes,Vb.net,Function,File,Split,Partial Classes,我有一个相当大的VB.net代码,我正在尝试将其拆分为不同的文件。我想创建一个包含不同函数的外部文件。我读过部分类文件,但它对我不起作用。是否有调用/导入vb.net文件并按照以下示例执行操作的选项 范例 Form1.vb Functions.vb 如果希望所有函数都可用于所有代码,只需创建一个包含函数的模块 如果只想将form1类拆分为单独的文件,则form1文件应包含类定义 Partial Public Class Form1 要为要分离的位创建一个新文件,请创建一个新的类文件,并

我有一个相当大的VB.net代码,我正在尝试将其拆分为不同的文件。我想创建一个包含不同函数的外部文件。我读过部分类文件,但它对我不起作用。是否有调用/导入vb.net文件并按照以下示例执行操作的选项

范例


Form1.vb



Functions.vb



如果希望所有函数都可用于所有代码,只需创建一个包含函数的模块

如果只想将form1类拆分为单独的文件,则form1文件应包含类定义

Partial Public Class Form1
要为要分离的位创建一个新文件,请创建一个新的类文件,并将默认定义更改为上述定义

请注意,您可能还需要为每个文件添加
Imports

在我的一个老项目中,我有一个单一的表单程序,但将代码分成几个文件,如ExcelFileHandling.vb、EmailHandling.vb等。它们实际上都是Form1的部分定义。Easy peasy:-)

当您不想完全限定类的名称空间时,可以使用该语句。如果另一个类与引用它的类位于同一命名空间中,则无需使用导入。 请注意,示例代码的功能应该存在于方法中,而不是类的主体中

'RootNamespace = Right click on project file and choose properties.  You'll see it defined there.
Imports RootNamespace.SomeOtherNamespace

Namespace SomeNamespace

    Public Class Form 1

        Public Sub SomeMethod()

            Dim objMyFunctions As New MyFunctions()
            'If no Imports is used: As New SomeOtherNamespace.MyFunctions()

        End Sub

    End Class

End Namespace

Namespace SomeOtherNamespace

    Public Class MyFunctions

    End Class

End Namespace
如果两个类位于同一命名空间中,则示例:

Public Class MyFunctions

    Public Sub SomeMethod()

        'No need for Imports because they are in the same Namespace.
        Dim objMyFunctions As New MyFunctions()

    End Sub 

End Class

Public Class MyFunctions

End Class

您是否正在使用VisualStudioIDE(集成开发环境)?这应该很简单,只需添加一个代码模块并将一些函数移到其中。
'RootNamespace = Right click on project file and choose properties.  You'll see it defined there.
Imports RootNamespace.SomeOtherNamespace

Namespace SomeNamespace

    Public Class Form 1

        Public Sub SomeMethod()

            Dim objMyFunctions As New MyFunctions()
            'If no Imports is used: As New SomeOtherNamespace.MyFunctions()

        End Sub

    End Class

End Namespace

Namespace SomeOtherNamespace

    Public Class MyFunctions

    End Class

End Namespace
Public Class MyFunctions

    Public Sub SomeMethod()

        'No need for Imports because they are in the same Namespace.
        Dim objMyFunctions As New MyFunctions()

    End Sub 

End Class

Public Class MyFunctions

End Class