Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
構造体についてお聞きします
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=9665#CommentId14948
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
ひでと
 (社会人)
投稿日時
2010/6/10 09:54:11
お世話になります。Doubleという構造体がありますが、これを利用して制約付きのmyDoubleという構造体を作ってみようといたしました。
Public Module Module1
Public Structure myDouble
Private pValue As Double
Public Property Value() As Double
Get
Return pValue
End Get
Set(ByVal value As Double)
pValue = Math.Abs(value)
End Set
End Property
End Structure
End Module
Public Class X
Private newValue As myDouble
Public Property Value() As myDouble
Get
Return newValue
End Get
Set(ByVal value As myDouble)
newValue = value
End Set
End Property
End Class
テストとしてこのようにしてみると
Public Class Test
Public Sub LargeOrSmall()
Dim a As myDouble = 500 '1 =500で Integerの値を 変換できません
Dim b As myDouble = -600 '2 =-600で Integerの値を 変換できません
If a < b Then Debug.Print("TestOK") ' <で 演算子・・・定義されていません
End Sub
Public Sub ClassTest()
Dim newX As X
newX.Value = -100 '-100で Integerの値を 変換できません
End Sub
End Class
とエラーが出てきます。Inheritsとか使えないみたいなのですが、もしクラスで同様の使い方がありましたら教えてください。
Value プロパティを規定プロパティ?にして Doubleと同じような使い方はできないかと考えています。