/// <summary> /// /// </summary> /// <typeparam name="TDescriptor"></typeparam> /// <param name="declaringType"></param> /// <param name="propertyName"></param> /// <param name="nonPublic"></param> /// <param name="canWrite"></param> /// <param name="canRead"></param> /// <returns></returns> public static TDescriptor RetrieveMemberDescriptor <TDescriptor>(Type declaringType, string propertyName, bool nonPublic, bool?canWrite, bool?canRead) where TDescriptor : MemberDescriptor { return(MemberDescriptor.Initializer.Initialize <TDescriptor> ( PropertyMemberHelpers.RetrieveMember(declaringType, propertyName, nonPublic, canWrite, canRead) )); }
/// <summary> /// /// </summary> /// <param name="instance"></param> /// <param name="propertyName"></param> /// <param name="nonPublic"></param> /// <param name="canWrite"></param> /// <param name="canRead"></param> /// <returns></returns> public static PropertyInfo RetrieveMember(object instance, string propertyName, bool nonPublic, bool?canWrite, bool?canRead) { if (null == instance) { throw new ArgumentNullException("instance"); } else if (string.IsNullOrEmpty(propertyName)) { throw new ArgumentNullException("propertyName"); } return(PropertyMemberHelpers.RetrieveMember(instance.GetType(), propertyName, nonPublic, canWrite, canRead)); }