internal static AccessTypes GetAccessType(IServiceProvider serviceProvider, PropertyValidationContext validationContext) { AccessTypes read = AccessTypes.Read; if (validationContext.Property is PropertyInfo) { return(Helpers.GetAccessType(validationContext.Property as PropertyInfo, validationContext.PropertyOwner, serviceProvider)); } if (validationContext.Property is DependencyProperty) { IDynamicPropertyTypeProvider propertyOwner = validationContext.PropertyOwner as IDynamicPropertyTypeProvider; if (propertyOwner != null) { read = propertyOwner.GetAccessType(serviceProvider, ((DependencyProperty)validationContext.Property).Name); } } return(read); }
internal static AccessTypes GetAccessType(PropertyInfo property, object owner, IServiceProvider serviceProvider) { if (owner == null) { throw new ArgumentNullException("owner"); } if (serviceProvider == null) { throw new ArgumentNullException("serviceProvider"); } if (property != null) { IDynamicPropertyTypeProvider provider = owner as IDynamicPropertyTypeProvider; if (provider != null) { return(provider.GetAccessType(serviceProvider, property.Name)); } } return(AccessTypes.Read); }