1. ホーム
  2. c#

[解決済み] 未知のオブジェクトからプロパティと値を取得する

2022-04-16 06:03:31

質問

PHPの世界から、C#に挑戦することにしました。検索してみたのですが、これと同等のことをするにはどうしたらいいのか、答えが見つからないようです。

$object = new Object();

$vars = get_class_vars(get_class($object));

foreach($vars as $var)
{
    doSomething($object->$var);
}

私は基本的にオブジェクトのListを持っています。このオブジェクトは3つの異なるタイプのうちの1つで、パブリックプロパティのセットを持つことになります。オブジェクトのプロパティのリストを取得し、それらをループして、ファイルに書き出したいのです。 これはC#のリフレクションと関係があるのではと思いますが、すべて初めてのことです。

何かお手伝いいただけると助かります。

解決方法は?

これで大丈夫です。

Type myType = myObject.GetType();
IList<PropertyInfo> props = new List<PropertyInfo>(myType.GetProperties());

foreach (PropertyInfo prop in props)
{
    object propValue = prop.GetValue(myObject, null);

    // Do something with propValue
}