public BindField( IComplexTypeBindingBuilder typeBuilder, IComplexTypeFieldBindingBuilder fieldBuilder) { _typeBuilder = typeBuilder ?? throw new ArgumentNullException(nameof(typeBuilder)); _fieldBuilder = fieldBuilder ?? throw new ArgumentNullException(nameof(fieldBuilder)); }
public IBindField <T> Field <TPropertyType>( Expression <Func <T, TPropertyType> > field) { if (field == null) { throw new ArgumentNullException(nameof(field)); } IComplexTypeFieldBindingBuilder fieldBuilder = ComplexTypeFieldBindingBuilder.New() .SetMember(field.ExtractMember()); _typeBuilder.AddField(fieldBuilder); return(new BindField <T>(_typeBuilder, fieldBuilder)); }
public IComplexTypeBindingBuilder AddField( IComplexTypeFieldBindingBuilder builder) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } if (!builder.IsComplete()) { // TODO : resources throw new ArgumentException("notcompleted", nameof(builder)); } if (builder is ComplexTypeFieldBindingBuilder b) { _bindingInfo.Fields = _bindingInfo.Fields.Add(b.Create()); return(this); } // TODO : resources throw new NotSupportedException("builder not supported"); }
public IComplexTypeBindingBuilder AddField( IComplexTypeFieldBindingBuilder builder) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } if (!builder.IsComplete()) { throw new ArgumentException( TypeResources.ComplexTypeBindingBuilder_FieldNotComplete, nameof(builder)); } if (builder is ComplexTypeFieldBindingBuilder b) { _fields.Add(b); return(this); } throw new NotSupportedException(TypeResources .ComplexTypeBindingBuilder_FieldBuilderNotSupported); }