嗯......这就是我想要做的。我的解决方案中有一个类库项目。我有一节课。
我希望在解决方案启动后立即实例化该类。所以它可以从解决方案中的其他项目中访问,如下所示:
Namespace.InstanceOfTheForm.Property
有没有办法做到这一点?或接近那个?
有什么想法吗?谢谢你的帮助
编辑:我之前发现了一些我发现的方法,但实际上没有工作......所以我仍然无法解决这个问题。EDIT2:我想要做的是获得在我的解决方案的所有项目之间共享的对象的实例。 Diggin多一点,我意识到我应该在进程之间实现某种内存共享吗?
答案 0 :(得分:2)
听起来你正在寻找一个静态类,或者用vb.net术语来表示共享类。你没有直接实例化它,但你可以使用Shared Sub New()
,这将在你的类第一次被引用时被调用。
<强>更新强>
我不确定我理解你要做什么,但这是一个共享类的例子:
Namespace MyNameSpace
Public Class Test
Private Shared _TestName As String = String.Empty
Shared Sub New()
_TestName = "Instant Name"
End Sub
Shared Property TestName As String
Get
Return _TestName
End Get
Set(value As String)
_TestName = value
End Set
End Property
End Class
End Namespace
然后你就可以从任何地方打电话:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
MessageBox.Show(MyNameSpace.Test.TestName)
MyNameSpace.test.TestName = "Changed Name"
MessageBox.Show(MyNameSpace.Test.TestName)
End Sub
答案 1 :(得分:2)
如果这是该类的唯一实例,并且您不从其他任何内容继承,则可以使用模块。
但是,从名称来看,听起来你想要一个表格。在这种情况下,VB.Net中的所有表单都已经有了一个可以使用的默认实例。根本不需要创建单独的实例。我通常建议不要使用这些,因为它会导致以后的不良做法。