我正在尝试在 VB.NET 中做这样的事情:
Class Something()
Sub New()
Me = OtherThing 'Other instance of the same class
End Sub
End Class
在对象初始化期间,我想将类的当前实例与该类的先前初始化实例进行切换。我需要控制创建的实例。
在我的代码模块中,只是尝试像这样使用它:
暗淡的东西=新的东西
我已经尝试了 Me、MyBase、MyClass 的所有变体。尝试返回正确实例的函数等等。 不想使用工厂或初始化分配后:
暗淡的东西=新的东西
暗淡的东西=其他东西
可以吗?
您可以做一些稍微不同的事情并使类可克隆。 我们可以使用从
MemberwiseClone
继承的函数 Object
并返回一个 Object
。因此我们必须投射结果。
Public Class Something
Public Function Clone() As Something
Return DirectCast(MemberwiseClone(), Something)
End Function
End Class
使用方法
Dim something As New Something()
Dim otherThing As Something = something.Clone()