private void SetDefault( PolymorphismTarget target, string memberName, int tupleItemNumber, PolymorphismSchema defaultSchema )
{
if ( this._useTypeEmbedding || this._knownTypeMapping.Count > 0 )
{
// Default is not required.
return;
}
switch ( defaultSchema.PolymorphismType )
{
case PolymorphismType.KnownTypes:
{
foreach ( var typeMapping in defaultSchema.CodeTypeMapping )
{
this.SetKnownType( target, memberName, tupleItemNumber, typeMapping.Key, typeMapping.Value );
}
break;
}
case PolymorphismType.RuntimeType:
{
this.SetRuntimeType( target, memberName, tupleItemNumber, defaultSchema.TypeVerifier );
break;
}
}
}