internal Parameter( PropertyAccessor propertyAccessor, ParameterAttribute parameterAttribute, IDefaultValuePolicy defaultValuePolicy ) { if (propertyAccessor == null) { throw Logger.Fatal.ArgumentNull(nameof(propertyAccessor)); } if (parameterAttribute == null) { throw Logger.Fatal.ArgumentNull(nameof(parameterAttribute)); } if (defaultValuePolicy == null) { throw Logger.Fatal.ArgumentNull(nameof(defaultValuePolicy)); } PropertyAccessor = propertyAccessor; ParameterAttribute = parameterAttribute; DefaultValuePolicy = defaultValuePolicy; ValidationAttributes = PropertyAccessor.PropertyInfo .GetCustomAttributes <ParameterValidationAttribute>(inherit: true) .ToImmutableArray(); }
internal Parameter( PropertyAccessor propertyAccessor, ParameterAttribute parameterAttribute, IDefaultValuePolicy defaultValuePolicy ) { if (propertyAccessor == null) { throw Logger.Fatal.ArgumentNull(nameof(propertyAccessor)); } if (parameterAttribute == null) { throw Logger.Fatal.ArgumentNull(nameof(parameterAttribute)); } if (defaultValuePolicy == null) { throw Logger.Fatal.ArgumentNull(nameof(defaultValuePolicy)); } PropertyAccessor = propertyAccessor; ParameterAttribute = parameterAttribute; DefaultValuePolicy = defaultValuePolicy; ValidationAttributes = PropertyAccessor.PropertyInfo .GetCustomAttributes<ParameterValidationAttribute>(inherit: true) .ToImmutableArray(); }
public ParameterSetBuilder(HarshObjectMetadata metadata, IDefaultValuePolicy defaultValuePolicy) { if (metadata == null) { throw Logger.Fatal.ArgumentNull(nameof(metadata)); } Metadata = metadata; DefaultParameterSetName = metadata .ObjectTypeInfo .GetCustomAttribute <DefaultParameterSetAttribute>(inherit: true)? .DefaultParameterSetName; DefaultValuePolicy = defaultValuePolicy ?? new NullDefaultValuePolicy(); ValidateNoInvalidParameters(); }
public ParameterSetBuilder(HarshObjectMetadata metadata, IDefaultValuePolicy defaultValuePolicy) { if (metadata == null) { throw Logger.Fatal.ArgumentNull(nameof(metadata)); } Metadata = metadata; DefaultParameterSetName = metadata .ObjectTypeInfo .GetCustomAttribute<DefaultParameterSetAttribute>(inherit: true)? .DefaultParameterSetName; DefaultValuePolicy = defaultValuePolicy ?? new NullDefaultValuePolicy(); ValidateNoInvalidParameters(); }
public ParameterSetBuilder(Type type, IDefaultValuePolicy defaultValuePolicy) : this(new HarshObjectMetadata(type), defaultValuePolicy) { }