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);
        }
Exemplo n.º 2
0
 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);
 }