いまさらながら VB6から VB.NET1.1へコンバートした結果を触る事がありました。
VB6はFormがデフォルトインスタンスで動作しますが, .net.コンバートしたとき,如何なるんかなとは思っていたのですが、
変換されたソースを見て,理解できました。 こんな仕組みなんだ。
変換例▼
#Region "アップグレード ウィザードのサポート コード"
Private Shared m_vb6FormDefInstance As frmMain
Private Shared m_InitializingDefInstance As Boolean
Public Shared Property DefInstance() As frmMain
Get
If m_vb6FormDefInstance Is Nothing OrElse m_vb6FormDefInstance.IsDisposed Then
m_InitializingDefInstance = True
m_vb6FormDefInstance = New frmMain()
m_InitializingDefInstance = False
End If
DefInstance = m_vb6FormDefInstance
End Get
Set
m_vb6FormDefInstance = Value
End Set
End Property
#End Region
変換例▲
しかし,そのお陰で DefInstanceの文字がそこらに散らばることになってます。
無理やり対応した苦肉の策のような気がして,居心地が悪い。
ここまでして, VB6を救わねばならないのでしょうか。
幾度となく云ってることですが、.net化と.netコンバートは別の物です。
コンバートしても,思想はVB6のママなので,する価値が無いと感じるのは私だけでしょうか。