// Aggregate private PolymorphismSchema( Type targetType, PolymorphismType polymorphismType, PolymorphismSchemaChildrenType childrenType, params PolymorphismSchema[] childItemSchemaList ) : this( targetType, polymorphismType, new ReadOnlyDictionary<string, Type>( EmptyMap ), childrenType, new ReadOnlyCollection<PolymorphismSchema>( ( childItemSchemaList ?? EmptyChildren ).Select( x => x ?? Default ).ToArray() ) ) {}
// Aggregate private PolymorphismSchema( Type targetType, PolymorphismType polymorphismType, PolymorphismSchemaChildrenType childrenType, params PolymorphismSchema[] childItemSchemaList) : this( targetType, polymorphismType, new ReadOnlyDictionary <byte, Type>(EmptyMap), childrenType, new ReadOnlyCollection <PolymorphismSchema>( (childItemSchemaList ?? EmptyChildren).Select(x => x ?? Default).ToArray() ) ) { }
private PolymorphismSchema( Type targetType, PolymorphismType polymorphismType, IDictionary<string, Type> codeTypeMapping, Func<PolymorphicTypeVerificationContext, bool> typeVerifier, PolymorphismSchemaChildrenType childrenType, params PolymorphismSchema[] childItemSchemaList ) : this( targetType, polymorphismType, new ReadOnlyDictionary<string, Type>( codeTypeMapping ), typeVerifier, childrenType, new ReadOnlyCollection<PolymorphismSchema>( ( childItemSchemaList ?? EmptyChildren ).Select( x => x ?? Default ).ToArray() ) ) {}
private PolymorphismSchema( Type targetType, PolymorphismType polymorphismType, ReadOnlyDictionary <byte, Type> codeTypeMapping, PolymorphismSchemaChildrenType childrenType, ReadOnlyCollection <PolymorphismSchema> childItemSchemaList) { if (targetType == null) { throw new ArgumentNullException("targetType"); } this.TargetType = targetType; this.PolymorphismType = polymorphismType; this._codeTypeMapping = codeTypeMapping; this.ChildrenType = childrenType; this._children = childItemSchemaList; }
private PolymorphismSchema( Type targetType, PolymorphismType polymorphismType, ReadOnlyDictionary<byte, Type> codeTypeMapping, PolymorphismSchemaChildrenType childrenType, ReadOnlyCollection<PolymorphismSchema> childItemSchemaList ) { if ( targetType == null ) { throw new ArgumentNullException( "targetType" ); } this.TargetType = targetType; this.PolymorphismType = polymorphismType; this._codeTypeMapping = codeTypeMapping; this.ChildrenType = childrenType; this._children = childItemSchemaList; }
// Aggregate private PolymorphismSchema( Type targetType, PolymorphismType polymorphismType, Func <PolymorphicTypeVerificationContext, bool> typeVerifier, PolymorphismSchemaChildrenType childrenType, params PolymorphismSchema[] childItemSchemaList ) : this( targetType, polymorphismType, new ReadOnlyDictionary <string, Type>(EmptyMap), typeVerifier, childrenType, new ReadOnlyCollection <PolymorphismSchema>( (childItemSchemaList ?? EmptyChildren).Select(x => x ?? Default).ToArray() ) ) { }
private PolymorphismSchema( Type targetType, PolymorphismType polymorphismType, ReadOnlyDictionary <string, Type> codeTypeMapping, Func <PolymorphicTypeVerificationContext, bool> typeVerifier, PolymorphismSchemaChildrenType childrenType, ReadOnlyCollection <PolymorphismSchema> childItemSchemaList ) { if (targetType == null) { throw new ArgumentNullException("targetType"); } this.TargetType = targetType; this.PolymorphismType = polymorphismType; this._codeTypeMapping = codeTypeMapping; this.ChildrenType = childrenType; this._children = childItemSchemaList; this.TypeVerifier = typeVerifier ?? DefaultTypeVerfiier; }
private PolymorphismSchema( Type targetType, PolymorphismType polymorphismType, ReadOnlyDictionary<string, Type> codeTypeMapping, Func<PolymorphicTypeVerificationContext, bool> typeVerifier, PolymorphismSchemaChildrenType childrenType, ReadOnlyCollection<PolymorphismSchema> childItemSchemaList ) { if ( targetType == null ) { throw new ArgumentNullException( "targetType" ); } this.TargetType = targetType; this.PolymorphismType = polymorphismType; this._codeTypeMapping = codeTypeMapping; this.ChildrenType = childrenType; this._children = childItemSchemaList; this.TypeVerifier = typeVerifier ?? DefaultTypeVerfiier; }