
環境:
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAのコントロールの種類...
-
カメラスクロールするのを動画...
-
chr関数の呼び出しで「プロ...
-
Excel VBA 動的に作成したチェ...
-
複数のコマンドボタン(VBAで)...
-
ControlTipTextの書式設定(Font...
-
Pictureコントロールの...
-
WinAPIで電卓をクリック
-
VBAのカレンダーコントロールに...
-
OCXって何ですか?
-
VBAのフォームでTextBoxがいっ...
-
Shapeコントロールの.NET移行方法
-
winndws セキュリティ
-
全てのオブジェクトのプロパテ...
-
VB6でシリアルポートの制御
-
Webカスコンってなんですか?
-
C#で角が丸いテキストボックス
-
VBA ユーザーフォームの Keypre...
-
カレンダーコントロールをシー...
-
vb.netで画面のコントロールId...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAのコントロールの種類...
-
EXCELでactivexコントロールを...
-
ExcelVBAでListViewが使用できない
-
'ckbl' コントロールは作成され...
-
カメラスクロールするのを動画...
-
VBA ユーザーフォームの Keypre...
-
vb.netで画面のコントロールId...
-
エクセル・VBA CheckBoxのオブ...
-
chr関数の呼び出しで「プロ...
-
エクセルVBAでオプションボタン...
-
Groupboxの配下のコントロール...
-
エクセル コントロールツール...
-
Labelコントロールの(左右)余...
-
チェックボックスをオンにした...
-
Excel VBA で Richtextboxを使...
-
アクセス特有の書き方?
-
(VBA)スピンボタンの大量...
-
ActiveX DLL と ActiveXコント...
-
C# ユーザコントロール内のボタ...
-
Excel VBA 動的に作成したチェ...
おすすめ情報