コード例 #1
0
        public string GetDeserializationExpression(string schemaObject, uint fieldNumber)
        {
            switch (category)
            {
            case ValueType.Primitive:
                return
                    ($"{schemaObject}.{SchemaFunctionMappings.GetSchemaFunctionFromType(primitiveType.Value)}({fieldNumber})");

            case ValueType.Enum:
                return($"({FqnType}) {schemaObject}.GetEnum({fieldNumber})");

            case ValueType.Type:
                return($"{FqnType}.Serialization.Deserialize({schemaObject}.GetObject({fieldNumber}))");

            default:
                throw new ArgumentOutOfRangeException("Unknown type category encountered.");
            }
        }
コード例 #2
0
        public string GetDeserializationExpression(string schemaObject, int fieldNumber)
        {
            switch (category)
            {
            case ContainedTypeCategory.Primitive:
                return
                    ($"{schemaObject}.{SchemaFunctionMappings.GetSchemaFunctionFromType(rawType)}({fieldNumber})");

            case ContainedTypeCategory.Enum:
                return($"({Type}) {schemaObject}.GetEnum({fieldNumber})");

            case ContainedTypeCategory.UserDefined:
                return($"{Type}.Serialization.Deserialize({schemaObject}.GetObject({fieldNumber}))");

            default:
                throw new ArgumentOutOfRangeException("Unknown type category encountered.");
            }
        }