/// <summary>
 /// Adds an <see cref="IModelValidatorProvider"/> to <paramref name="descriptors"/>.
 /// </summary>
 /// <param name="descriptors">A list of <see cref="ModelValidatorProviderDescriptor"/>.</param>
 /// <param name="modelValidatorProvider">An <see cref="IModelValidatorProvider"/> instance.</param>
 /// <returns>A <see cref="ModelValidatorProviderDescriptor"/> representing the added instance.</returns>
 public static ModelValidatorProviderDescriptor Add(
     [NotNull] this IList<ModelValidatorProviderDescriptor> descriptors,
     [NotNull] IModelValidatorProvider modelValidatorProvider)
 {
     var descriptor = new ModelValidatorProviderDescriptor(modelValidatorProvider);
     descriptors.Add(descriptor);
     return descriptor;
 }
Esempio n. 2
0
        /// <summary>
        /// Adds an <see cref="IModelValidatorProvider"/> to <paramref name="descriptors"/>.
        /// </summary>
        /// <param name="descriptors">A list of <see cref="ModelValidatorProviderDescriptor"/>.</param>
        /// <param name="modelValidatorProvider">An <see cref="IModelValidatorProvider"/> instance.</param>
        /// <returns>A <see cref="ModelValidatorProviderDescriptor"/> representing the added instance.</returns>
        public static ModelValidatorProviderDescriptor Add(
            [NotNull] this IList <ModelValidatorProviderDescriptor> descriptors,
            [NotNull] IModelValidatorProvider modelValidatorProvider)
        {
            var descriptor = new ModelValidatorProviderDescriptor(modelValidatorProvider);

            descriptors.Add(descriptor);
            return(descriptor);
        }
        public void ConstructorSetsInstanceAndType()
        {
            // Arrange
            var validatorProvider = new TestModelValidatorProvider();

            // Act
            var descriptor = new ModelValidatorProviderDescriptor(validatorProvider);

            // Assert
            Assert.Same(validatorProvider, descriptor.Instance);
            Assert.Equal(validatorProvider.GetType(), descriptor.OptionType);
        }
        public void ConstructorSetsModelValidatorProviderType()
        {
            // Arrange
            var type = typeof(TestModelValidatorProvider);

            // Act
            var descriptor = new ModelValidatorProviderDescriptor(type);

            // Assert
            Assert.Equal(type, descriptor.OptionType);
            Assert.Null(descriptor.Instance);
        }
        /// <summary>
        /// Inserts a type representing a <see cref="IModelValidatorProvider"/> in to <paramref name="descriptors"/> at
        /// the specified <paramref name="index"/>.
        /// </summary>
        /// <param name="descriptors">A list of <see cref="ModelValidatorProviderDescriptor"/>.</param>
        /// <param name="index">The zero-based index at which <paramref name="modelValidatorProviderType"/>
        /// should be inserted.</param>
        /// <param name="modelValidatorProviderType">Type representing an <see cref="IModelValidatorProvider"/></param>
        /// <returns>A <see cref="ModelValidatorProviderDescriptor"/> representing the inserted instance.</returns>
        public static ModelValidatorProviderDescriptor Insert(
            [NotNull] this IList<ModelValidatorProviderDescriptor> descriptors,
            int index,
            [NotNull] Type modelValidatorProviderType)
        {
            if (index < 0 || index > descriptors.Count)
            {
                throw new ArgumentOutOfRangeException(nameof(index));
            }

            var descriptor = new ModelValidatorProviderDescriptor(modelValidatorProviderType);
            descriptors.Insert(index, descriptor);
            return descriptor;
        }
Esempio n. 6
0
        /// <summary>
        /// Insert an <see cref="IModelValidatorProvider"/> in to <paramref name="descriptors"/> at the specified
        /// <paramref name="index"/>.
        /// </summary>
        /// <param name="descriptors">A list of <see cref="ModelValidatorProviderDescriptor"/>.</param>
        /// <param name="index">The zero-based index at which <paramref name="modelValidatorProvider"/>
        /// should be inserted.</param>
        /// <param name="modelValidatorProvider">An <see cref="IModelValidatorProvider"/> instance.</param>
        /// <returns>A <see cref="ModelValidatorProviderDescriptor"/> representing the added instance.</returns>
        public static ModelValidatorProviderDescriptor Insert(
            [NotNull] this IList <ModelValidatorProviderDescriptor> descriptors,
            int index,
            [NotNull] IModelValidatorProvider modelValidatorProvider)
        {
            if (index < 0 || index > descriptors.Count)
            {
                throw new ArgumentOutOfRangeException(nameof(index));
            }

            var descriptor = new ModelValidatorProviderDescriptor(modelValidatorProvider);

            descriptors.Insert(index, descriptor);
            return(descriptor);
        }