单例模式窗口 带来的问题,如何让所有的窗口自动继承单例模式。
通过下面的代码实现单例窗口
Private Shared instance As SingletonForm
Public Shared Function GetInstance() As SingletonForm
If instance Is Nothing Then
instance = New SingletonForm
Else
If instance.IsDisposed Then
instance = New SingletonForm
End If
End If
Return instance
End Function
但是随之而来的问题是,
如果有100多个窗口想做为单例窗口,如何避免都在这100个 窗口加这段代码,从而寻求其他方法实现所有的窗口都变成单例窗口?
vb.net 不能多继承,只能继承一个类,如果在一个 System.Window.Form 基类 加这段代码,再让其他的窗口继承在 design.vb 里面继承 基类,就会出现其他的窗口上面的控件白画了,他最后new 出来还是那个基类窗口。
可以继承多个接口,但是方法体是空白的,还是要再写。
问题如上,大家如果有什么好的方法,不吝赐教,谢谢! 单例 继承 类
[解决办法]
Public Class SingletonForm(Of T As New)
Private Shared instance As T
Public Shared Function GetInstance() As T
If instance Is Nothing Then
instance = New T
Else
If instance.IsDisposed Then
instance = New T
End If
End If
Return instance
End Function
End Class