微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vb.net – 我可以将类引用作为参数传递给VBNet中的函数吗?

如果我使用不正确的术语或听起来像一个完整的菜鸟,请原谅我.

在类库中调用sub时,我想传递的不是实例化的表单,而只是对表示表单的类的引用.然后我想从类库函数中实例化表单.这可能吗?

类似于以下内容

在主要应用中:

ClassLib.MyClass.displayForm(GetType(Form1))

然后,在类库中:

Public Class MyClass

    Public Shared Sub displayForm(WhichFormClass As Type)
        Dim MyForm as Form = WhichFormClass.CreateObject() 'Getting imaginitive
        MyForm.ShowDialog()
    End Sub

End Class

希望我的例子传达了我想要完成的事情.如果你认为我的做法是假的,我会接受其他策略.

解决方法

除了MotoSV的答案之外,这里还有一个只使用泛型的版本:

Public Shared Sub displayForm(Of T As {New,Form})()
    Dim instance = New T()
    instance.ShowDialog()
End Sub

您可以使用如下:

displayForm(Of Form1)()

使用此方法,您可以确保传递的类型是表单,并且实例具有ShowDialog()方法.没有必要的演员可能最终失败.但是,有必要在设计时知道类型参数以调用方法.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐