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

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

概述如果我使用不正确的术语或听起来像一个完整的菜鸟,请原谅我. 在类库中调用sub时,我想传递的不是实例化的表单,而只是对表示表单的类的引用.然后我想从类库函数中实例化表单.这可能吗? 类似于以下内容: 在主要应用中: ClassLib.MyClass.DisplayForm(GetType(Form1)) 然后,在类库中: Public Class MyClass Public Share 如果我使用不正确的术语或听起来像一个完整的菜鸟,请原谅我.

在类库中调用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 SubEnd Class

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

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

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

您可以使用如下:

displayForm(Of Form1)()

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

总结

以上是内存溢出为你收集整理的vb.net – 我可以将类引用作为参数传递给VBNet中的函数吗?全部内容,希望文章能够帮你解决vb.net – 我可以将类引用作为参数传递给VBNet中的函数吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1242109.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存