public static PropertyInfo PropertyInfo(this JsonProperty jsonProperty) { if (jsonProperty.get_UnderlyingName() == null) { return((PropertyInfo)null); } object obj = ((IEnumerable <object>)jsonProperty.get_DeclaringType().GetCustomAttributes(typeof(MetadataTypeAttribute), true)).FirstOrDefault <object>(); return((obj != null ? ((MetadataTypeAttribute)obj).MetadataClassType : jsonProperty.get_DeclaringType()).GetProperty(jsonProperty.get_UnderlyingName(), jsonProperty.get_PropertyType())); }