次のオブジェクトを作成する必要がありました。基本的には、整数または文字列を渡し、これらを整数またはゼロで埋められた文字列としてフェッチする方法です。
Public Class DOC_NUMBER
Private m_DOC_NUMBER As Integer = 0
Public Sub New(ByVal DOC_NUMBER As Integer)
m_DOC_NUMBER = DOC_NUMBER
End Sub
Public Sub New(ByVal DEPOT_CODE As String)
Dim ParseInput As Integer = 0
If Integer.TryParse(DEPOT_CODE, ParseInput) = False Then
m_DOC_NUMBER = 0
Else
m_DOC_NUMBER = ParseInput
End If
End Sub
Public Overrides Function ToString() As String
Return Right("0000000000" & m_DOC_NUMBER.ToString(), 10)
End Function
Public Function ToInteger() As Integer
Return m_DOC_NUMBER
End Function
End Class
このクラスのインスタンスは、次のように設定できます。
Dim DocumentID As New DOC_NUMBER("00123")
Dim DocumentID As New DOC_NUMBER(123)
これは、次のように他の変数に割り当てることができます。
Dim NewDocumentID as Integer = DocumentID.ToInteger()
Dim NewDocumentID as String = DocumentID.ToString()
.ToInteger()
ただし、99% の確率で整数を扱うことになるため、次のようにオプションにしたいと考えています。
Dim NewDocumentID as Integer = DocumentID
明らかに、これは現在、「タイプ 'X.DOC_NUMBER' の値は '整数' に変換できません」というエラーを出します。
整数に割り当てられている整数を自動的に渡すようにクラスを変更するにはどうすればよいでしょうか?
任意の .net 言語の例で問題ありません。