2013-02-27 57 views
0

我尝试在VB.NET中的模块中使用MY命名空间,但它说“我没有声明...”使用MY命名空间会节省大量时间,但是我可以使用它在一个模块?在模块中使用我的命名空间

Imports System.Windows.Forms 

Public Module Entry_Module 
    Sub Main() 
     My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\Currentversion\Run\", "MyApp", application.executeablepath, RegistryValueKind.String) 
    End Sub 
End Module 

我将自己的应用程序添加到启动中,我的应用程序没有窗体,而是模块。那么如何在这个模块中使用我的命名空间?

+0

我可以在我的项目的任何模块或类中使用'My'命名空间,即使在控制台项目中也是如此。你确定你在方法,属性等内部使用它吗? – SysDragon 2013-02-27 16:29:54

+1

你可以制作一个不会编译的小代码示例,并将其添加到您的问题中? – 2013-02-27 16:42:34

+0

我更新了我的问题 – user1970090 2013-02-27 17:12:25

回答

2

你必须在一个Method中使用My命名空间才能使用,我认为这是你的问题。请参阅:

Public Class MyClass 
    My.<Does not work> 

    Public Sub MyMethod() 
     My.<Correct> 
    End Sub 
End Class 

无论如何,如果你想使用它的任何地方,你可以为了创建一个新类来获取你想要的信息:

Public Class MyNS 
    Public Shared Function CurrentDirectory() As String 
     Return My.Computer.FileSystem.CurrentDirectory() 
    End Function 

    'etc 
End Class 

,然后用它无处不在调用类方法: MyNS.CurrentDirectory()

的额外信息
My namespace and project types

+0

它不适合我! – user1970090 2013-02-27 16:58:50

+0

@ user1970090请分享您的代码无法使用的示例。编辑您的问题并添加额外的信息。 – SysDragon 2013-02-27 17:00:26

+0

我已更新我的问题 – user1970090 2013-02-27 17:10:54