
環境:
WindowsXP
VisualStudio2008 Professional
言語:
VB.NET
あるクラスのプロパティへ
Public Property Prop1 As Integer/Prop2/Prop3/・・・・と設定し、ゲットやセットするのにループしていれる方法はあるのでしょうか。
例えば・・・
For I As Integer = 1 To 40
Console.WriteLine(Prop & I)
Next
若しくは
For Each Property As Property型??(Object??) In Properties??(プロパティコレクション??)
Console.WriteLine(Property.Value??)
Next
という感じです。
フォームなどのコントロールで、複数のコントロールへ同じ内容を入れ込むときに使ったことはあるのですが、プロパティでも同じことができるのかなと思い質問してみました。
No.1ベストアンサー
- 回答日時:
たとえば、Button1コントロールのプロパティとその値は、以下のような感じで表示できたと思います。
Dim pi As System.Reflection.PropertyInfo
For Each pi In Me.Button1.GetType().GetProperties()
MsgBox(pi.Name + "=" + pi.GetValue(Me.Button1, Nothing).ToString())
Next
ありがとうございます。
なるほど・・・GetTypeでGetPropertiesですね。
Riflectionをつかうのは知りませんでした。
まだまだ勉強不足ですね。。。
ヒントをいただいて色々と調べた結果以下でクラスのプロパティで設定した値を取得できました。
※SampleControlClassを生成しているのは、元々取得したいプロパティが入っているSampleClassがオブジェクトを生成しないMustInheritとしているので、継承しているSampleControlClassをオブジェクト生成して入れ込んでます。
Dim SCClass As New SampleClassControl
Dim ClsType As Type = GetType(SampleClass)
Dim Prop() As PropertyInfo = ClsType.GetProperties
For Each props As PropertyInfo In Prop
Console.WriteLine(CType(props.GetValue(SCClass, Nothing), Integer))
Next
ちなみにセットもついでにできました。
For Each props As PropertyInfo In Prop
props.SetValue(SCClass, I, Nothing)
I += 1
Next
一応、期待通りにことは運んだんですが、他にもありますかね?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- 英語 The Twilight Zone1959に関するCBSの回答について 1 2023/03/02 15:13
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) エクセル マクロ(A1:A10)までの中で一番多く出た数字をB10に表示 6 2023/04/25 17:01
- Visual Basic(VBA) For~Nextステートメントの終了条件について 1 2023/01/08 18:36
- Visual Basic(VBA) Sheet1のA列にコードB列にメアド、Sheet2のB列にコード一覧とD列にメアド一覧があり、Sh 3 2022/10/19 11:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA ユーザーフォームの Keypre...
-
ExcelVBAのコントロールの種類...
-
WebBrowserコントロールでExplo...
-
オプションボタン(配列)のチ...
-
TreeGridView(オープンソース)...
-
ユーザーフォームで動的(Me.Con...
-
カメラスクロールするのを動画...
-
Labelコントロールの(左右)余...
-
チェックボックスをオンにした...
-
プロパティをループで指定する
-
複数のコマンドボタン(VBAで)...
-
エクセル・VBA CheckBoxのオブ...
-
全てのオブジェクトのプロパテ...
-
inputmanのカレンダーコントロール
-
chr関数の呼び出しで「プロ...
-
ExcelVBAでListViewが使用できない
-
Excelで、コンボボックスで選択...
-
エクセルのフォームで○のチェッ...
-
コントロールを移動できない
-
ListViewのチェックボックスに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELでactivexコントロールを...
-
エクセル・VBA CheckBoxのオブ...
-
カメラスクロールするのを動画...
-
エクセルVBAでオプションボタン...
-
チェックボックスをオンにした...
-
VBA ユーザーフォームの Keypre...
-
chr関数の呼び出しで「プロ...
-
'ckbl' コントロールは作成され...
-
ExcelVBAでListViewが使用できない
-
全てのオブジェクトのプロパテ...
-
vb.netで画面のコントロールId...
-
間違えて配置してしまったコン...
-
変数をコントロール型で使用す...
-
エクセル コントロールツール...
-
ユーザーフォームで動的(Me.Con...
-
OCXって何ですか?
-
C#で角が丸いテキストボックス
-
Groupboxの配下のコントロール...
-
Labelコントロールの(左右)余...
-
excel vbaでユーザーフォームに...
おすすめ情報