プロパティが C# Expando クラスに存在するかどうかを確認したいと思います。
Python のhasattr関数によく似ています。hasattr の c# イコールが欲しいです。
このようなもの...
if (HasAttr(model, "Id"))
{
# Do something with model.Id
}
プロパティが C# Expando クラスに存在するかどうかを確認したいと思います。
Python のhasattr関数によく似ています。hasattr の c# イコールが欲しいです。
このようなもの...
if (HasAttr(model, "Id"))
{
# Do something with model.Id
}
試す:
dynamic yourExpando = new ExpandoObject();
if (((IDictionary<string, Object>)yourExpando).ContainsKey("Id"))
{
//Has property...
}
ExpandoObject は明示的に を実装します。KeyIDictionary<string, Object>
はプロパティ名です。次に、辞書にキーが含まれているかどうかを確認できます。この種のチェックを頻繁に行う必要がある場合は、小さなヘルパー メソッドを記述することもできます。
private static bool HasAttr(ExpandoObject expando, string key)
{
return ((IDictionary<string, Object>) expando).ContainsKey(key);
}
そして、次のように使用します。
if (HasAttr(yourExpando, "Id"))
{
//Has property...
}