次のようなものを使用したい:
object ob;
var props = ob.GetType().GetProperties();
List<Element> list = new List<Element>();
foreach (var prop in props)
{
if (prop.PropertyType == typeof(String))
list.Add(makeStringProperty(prop));
else if (prop.PropertyType == typeof(int))
list.Add(makeIntProperty(prop));
else
{
}
}
特定のオブジェクトのすべてのプロパティの特定のリストに何かを追加します。Enum.GetValues() fe. これは、特定の列挙型に対しては簡単ですが、考えられるすべての列挙型に対してこれをジェネリックにしたいので、たとえば、ob が次のようになるとします。
enum Weather {
sunny,
rainy,
cloudy
}
Weather weather = sunny;
enum Places {
beach,
mall,
home
}
Places place = beach;
両方の変数自体と両方の列挙型のすべての値を取得できます。もちろん、typeof(Enum) などを直接チェックすることはできません。誰かが手がかりを持っていますか?