// 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;
		}
Example #6
0
 // 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()
             )
         )
 {
 }
Example #7
0
        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;
		}