/// <summary> /// /// </summary> /// <returns></returns> public static IValueValidatorFactory GetValueValidatorFactory() { var _stackFrame = StackTraceHelpers.GetStackFrameByIndex(2); var _factoryProvider = typeof(IValueValidatorFactoryProvider); var _memberDescriptor = (AttributeMemberDescriptor)null; if (null != _stackFrame) { if (_stackFrame.MethodDescriptor.HasAttributeMembers) { _memberDescriptor = _stackFrame.MethodDescriptor.GetAttributeDescriptorByAttributeType(_factoryProvider); if (null != _memberDescriptor) { return((_memberDescriptor.Member as IValueValidatorFactoryProvider).ValueValidatorFactory); } } var _declaringType = _stackFrame.MethodDescriptor.Member.DeclaringType; var _descriptors = AttributeMemberHelpers.RetrieveMemberDescriptors(_declaringType, _factoryProvider); if (null != _descriptors) { _memberDescriptor = _descriptors.GetDescriptorByAttributeType(_factoryProvider); return((_memberDescriptor.Member as IValueValidatorFactoryProvider).ValueValidatorFactory); } } return(CreateValueValidatorFactory()); }
/// <summary> /// /// </summary> /// <param name="instance"></param> /// <returns></returns> public static IDataServiceContract RetrieveDataServiceContract(object instance) { var _descriptor = AttributeMemberHelpers.RetrieveMemberDescriptor(instance, typeof(IDataServiceContract), true); if (null != _descriptor) { return(_descriptor.Member as IDataServiceContract); } return(null); }
/// <summary> /// /// </summary> /// <param name="instance"></param> /// <returns></returns> public static IRegistryPathInfo ExtractRegistryPathProvider(object instance) { try { return(AttributeMemberHelpers .RetrieveMember(instance, typeof(IRegistryPathInfo), false) as IRegistryPathInfo); } catch (NullReferenceException) { if (instance is IRegistryPathInfo) { return(instance as IRegistryPathInfo); } } return(null); }
/// <summary> /// /// </summary> /// <param name="instance"></param> /// <returns></returns> public static ICryptoTransformable RetrieveCryptoTransform(object instance) { if (ObjectUtils.IsClassType(instance)) { var _encryptable = AttributeMemberHelpers.RetrieveMember(instance, typeof(IEncryptable), true) as IEncryptable; var _cryptoTransform = ObjectUtils.CreateInstanceOf <ICryptoTransformable>(_encryptable.CryptoTransformProvider); if (null != _cryptoTransform) { _cryptoTransform.SaltKey = _encryptable.SaltKey; _cryptoTransform.Password = _encryptable.Password; return(_cryptoTransform); } } return(null); }
/// <summary> /// /// </summary> /// <param name="instance"></param> /// <returns></returns> public static DbQueryActionDescriptors RetrieveMemberDescriptors(object instance) { return(AttributeMemberHelpers.RetrieveMemberDescriptors <DbQueryActionDescriptor, DbQueryActionDescriptors>(instance, typeof(IDbQueryAction), true)); }