型の変更


sasa  2008-06-19 23:27:42  No: 100828

flg = true のときは、Aという変数は clsTrue型
flg = false のときは、Aという変数は clsFalse型

同じ、変数名を、  flgの値によって型を変えたいのですが  出来ますか?


やじゅ  2008-06-20 00:29:56  No: 100829

Aという変数をObject型で定義して、
条件によって、型変換すればいいのでは


  2008-06-20 18:22:32  No: 100830

型の名前を見る限りクラス(のインスタンス)っぽいから
Aにオブジェクト参照を設定する形でなら可能かと思う
例えば…

Dim ATrue As New clsTrue
Dim AFalse As New clsFlse
Dim A As Variant

Set A = IIf(flg, ATrue, AFalse)

みたいな感じかな、やったことは無いけど
(Newが使えるかどうか等は適宜調整を)


ガッ  2008-06-20 19:05:15  No: 100831

たとえば

'IBoolean クラス -- マーカインタフェイス
Option Explicit
Public Function getValue() As Boolean: End Function

'clsTrue クラス
implements IBoolean
Private Function IBoolean_getValue() As Boolean
    IBoolean_getValue = True
End Function

'clsFalse クラス
implements IBoolean
Private Function IBoolean_getValue() As Boolean
    IBoolean_getValue = False
End Function

'アプリケーションエントリポイント
Dim cls As IBoolean

If MsgBox("はい=true いいえ=false", vbYesNo) = vbYes Then
    Set cls = New clsTrue
Else
    Set cls = New clsFalse
End If
MsgBox "clsの値=" & cls.getValue()

の様にしてしまうとか


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加