[解決済み] クラスのすべてのプロパティをループする方法は?
2022-04-23 21:55:09
質問
クラスがあります。
Public Class Foo
Private _Name As String
Public Property Name() As String
Get
Return _Name
End Get
Set(ByVal value As String)
_Name = value
End Set
End Property
Private _Age As String
Public Property Age() As String
Get
Return _Age
End Get
Set(ByVal value As String)
_Age = value
End Set
End Property
Private _ContactNumber As String
Public Property ContactNumber() As String
Get
Return _ContactNumber
End Get
Set(ByVal value As String)
_ContactNumber = value
End Set
End Property
End Class
上記のクラスのプロパティをループさせたい。 例えば
Public Sub DisplayAll(ByVal Someobject As Foo)
For Each _Property As something In Someobject.Properties
Console.WriteLine(_Property.Name & "=" & _Property.value)
Next
End Sub
解決方法は?
Reflectionを使用します。
Type type = obj.GetType();
PropertyInfo[] properties = type.GetProperties();
foreach (PropertyInfo property in properties)
{
Console.WriteLine("Name: " + property.Name + ", Value: " + property.GetValue(obj, null));
}
Excel の場合 - BindingFlags にアクセスするには、どのツール/リファレンス項目を追加しなければなりませんか。
編集:BindingFlags の値を
type.GetProperties()
:
BindingFlags flags = BindingFlags.Public | BindingFlags.Instance;
PropertyInfo[] properties = type.GetProperties(flags);
これにより、返されるプロパティは公開インスタンス・プロパティに制限されます (静的プロパティ、保護されたプロパティなどを除く)。
を指定する必要はありません。
BindingFlags.GetProperty
を呼び出すときに使用します。
type.InvokeMember()
を使用して、プロパティの値を取得します。
関連
-
[解決済み】XAMLにSystem.Stringを埋め込む
-
[解決済み] BasicHttpsBindingとWsHttpBinding with Transport securityの違いは何ですか?
-
[解決済み] Microsoft.NETFrameworkとMicrosoft.NETFramework64の違いは何ですか?
-
[解決済み] DelphiとDelphi.NETの違いについて
-
[解決済み] JavaScriptでオブジェクトのキー/プロパティの数を効率的にカウントする方法
-
[解決済み] Pythonの@propertyデコレーターはどのように機能するのでしょうか?
-
[解決済み] .NET Coreと.NET Standard Class Libraryのプロジェクトタイプの違いは何ですか?
-
[解決済み] コードが含まれるアセンブリのパスを取得するにはどうすればよいですか?
-
[解決済み] .NETにおけるstructとclassの違いは何ですか?
-
[解決済み】C#でprivateプロパティを使用する理由はあるのでしょうか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Microsoft.Practices.ServiceLocationはどこから来たのですか?
-
[解決済み] "ItemsSourceを使用する前に、Itemsコレクションを空にする必要があります。"
-
[解決済み] EF Coreのadd-migrationのビルドに失敗しました。
-
[解決済み] スマートクライアント・ソフトウェアファクトリーの体験談
-
[解決済み] ファイルまたはアセンブリ 'System.Data.SQLite' をロードできませんでした。
-
[解決済み] Microsoft.NETFrameworkとMicrosoft.NETFramework64の違いは何ですか?
-
[解決済み] VB.NETで線を引く方法
-
[解決済み] AssemblyInfo.csは何に使うのですか?
-
[解決済み] terminationGracePeriodSeconds not
-
[解決済み] WCFのデバッグ時にサーバーに自動的に踏み込むことができない