c# – 我可以重置静态/共享类吗?
发布时间:2020-12-15 04:25:28 所属栏目:百科 来源:网络整理
导读:我有一个共享类(C#中的静态),它主要带有一些设置数据,应用程序中的任何类都可以读取并有时写入.还有一些静态属性,它们包含一些内部状态. 现在我想将这个类恢复到它的初始阶段.使用所有默认变量等.假设用户想要重置当前状态并重新开始而不重新启动应用程序.
我有一个共享类(C#中的静态),它主要带有一些设置数据,应用程序中的任何类都可以读取并有时写入.还有一些静态属性,它们包含一些内部状态.
现在我想将这个类恢复到它的初始阶段.使用所有默认变量等.假设用户想要重置当前状态并重新开始而不重新启动应用程序. 在单例模型中,我只需使用以下内容进行更新: Public Sub Reset() _Instance = New MyClass() End Sub 但是,在Shared类中这是不可能的.有什么想法我怎么能做到这一点?或者我应该切换回Singleton? 解决方法
没有办法像你刚才指出的单身模型那样做.原因是没有后备数据存储来“重置”.你可以做的是通过使用显式方法来初始化我们的所有数据来模拟这个.
Public Module MyClass Public Sub Reset() Field1 = 42 Field2 = "foo" End Sub Public Shared Field1 As Integer Public Shared Field2 As String End Module 包含类与模块的版本 Public Class MyClass Shared Sub New() Reset End Sub Private Sub New() ' Prevent instantiation of the class End Sub Public Sub Reset() Field1 = 42 Field2 = "foo" End Sub Public Shared Field1 As Integer Public Shared Field2 As String End Class (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |