DOBON.NETプログラミング道掲示板

No34003 の記事


■34003 / )  Object型からDecimalへの変換
□投稿者/ ちゅう太 一般人(1回)-(2018/10/10(Wed) 23:42:01)
  • アイコン環境/言語:[Windows7/.NET Framework 4.6.2] 
    分類:[.NET] 

    クラスを新規に作成し、Valueプロパティ(Object型)を作成しました。
    そのValueプロパティのSetterでObject型からDecimal型に変換したいのですが、
    皆様はどのように変換されているのでしょうか?
    (Valueプロパティには何型がセットされるかわからないものとした場合)

    現在はConvert.ToDecimal(object) を Try Catch End Try で挟んでいます。
    Object型をToStringメソッドでString型にしてから、Decimal.Parse等で変換するのでしょうか?

    Public Interface IInterface()
    Property Value() As Object
    End Interface

    Option Strict On
    Public Class ClassDecimal
    Implements IInterface

    Private myValue As Decimal = 0

    Public Property Value() As Object Implements IInterface.Value
    Get
    Return myValue
    End Get
    Set(value As Object)
    ' Decimalに変換できない場合はゼロとする
    If value Is Nothing Then
    myValue = 0
    Else
    Try
    myValue = Convert.ToDecimal(value)
    Catch
    myValue = 0
    End Try
    ' もしかして以下のほうがスマート?
    ' Dim result As Decimal = 0
    ' If Decimal.TryParse(value.ToString, result) Then
    ' myValue = result
    ' Else
    ' myValue = 0
    ' End If
    End If
    End Set
    End Property
    End Class

違反を報告
返信 削除キー/


Mode/  Pass/


- Child Tree -