How do I check if a property exists on a dynamic anonymous type in c#?

前端 未结 11 694
时光取名叫无心
时光取名叫无心 2020-12-01 00:20

I have an anonymous type object that I receive as a dynamic from a method I would like to check in a property exists on that object.

....
var settings = new          


        
11条回答
  •  我在风中等你
    2020-12-01 01:11

    This works for anonymous types, ExpandoObject, Nancy.DynamicDictionary or anything else that can be cast to IDictionary.

        public static bool PropertyExists(dynamic obj, string name) {
            if (obj == null) return false;
            if (obj is IDictionary dict) {
                return dict.ContainsKey(name);
            }
            return obj.GetType().GetProperty(name) != null;
        }
    

提交回复
热议问题