- 題名: 同じ変数型にキャスト
- 日時: 2011/10/19 2:51:27
- ID: 29253
- この記事の返信元:
- (なし)
- この記事への返信:
- [29254] Re[1]: 同じ変数型にキャスト2011/10/19 7:18:40
- ツリーを表示
■No29254に返信(shuさんの記事) こんな書き方があったとは… 提示した関数がSharedなのは、Class CommonDialog内で宣言していて、 いろんなクラスで使いまわすことを想定しているからです。 教えていただいた方法を使って以下のように書き直しました。 Public Shared Function ChangeValue(Of T)(ByVal _itemKind As String, ByVal _itemValue As T) As T Dim beforeValue As String = CType(CObj(_itemValue), String) Dim title As String = _itemKind & "の値を変更します。" Dim body As String = "新しい値を入力してください。" & vbNewLine & "以前の値 -> " & beforeValue Dim newValue = InputBox(body, title, beforeValue) If newValue = "" Then newValue = beforeValue End If Return CType(CObj(newValue), T) End Function 最初の(Of T)はジェネリッククラスというやつでしょうか。 CObj()関数は、オブジェクト型にキャストする関数ですね。 全く知らなかった記述法だったので、とても勉強になりました。 本当にありがとうございました。
分類:[.NET]