首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

单例模式窗口 带来的有关问题,怎么让所有的窗口自动继承单例模式

2013-06-25 
单例模式窗口 带来的问题,如何让所有的窗口自动继承单例模式。通过下面的代码实现单例窗口Private Shared i

单例模式窗口 带来的问题,如何让所有的窗口自动继承单例模式。
通过下面的代码实现单例窗口
    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

热点排行