protected bool IsUnmanagedExplictInterfaceImplementation(IPropertyInformation propertyInfo)
        {
            ArgumentUtility.CheckNotNull("propertyInfo", propertyInfo);

            bool isExplicitInterfaceImplementation = Array.Exists(
                propertyInfo.GetAccessors(true),
                accessor => _explicitInterfaceImplementations.Value.Contains(accessor));

            if (!isExplicitInterfaceImplementation)
            {
                return(false);
            }

            var storageClass = _propertyMetadataProvider.GetStorageClass(propertyInfo);

            if (storageClass == null)
            {
                return(true);
            }

            return(storageClass == StorageClass.None);
        }
 public IMethodInformation[] GetAccessors(bool nonPublic)
 {
     return(_implementationPropertyInfo.GetAccessors(nonPublic));
 }