示例#1
0
        public string GetSerializationStatement(string instance, string schemaObject, uint fieldNumber)
        {
            switch (category)
            {
            case ValueType.Primitive:
                return($"{schemaObject}.{SchemaFunctionMappings.AddSchemaFunctionFromType(primitiveType.Value)}({fieldNumber}, {instance});");

            case ValueType.Enum:
                return($"{schemaObject}.AddEnum({fieldNumber}, (uint) {instance});");

            case ValueType.Type:
                return($"{FqnType}.Serialization.Serialize({instance}, {schemaObject}.AddObject({fieldNumber}));");

            default:
                throw new ArgumentOutOfRangeException("Unknown type category encountered.");
            }
        }
示例#2
0
        public string GetFieldIndexExpression(string schemaObject, uint fieldNumber, string index)
        {
            switch (category)
            {
            case ValueType.Primitive:
                return
                    ($"{schemaObject}.{SchemaFunctionMappings.IndexSchemaFunctionFromType(primitiveType.Value)}({fieldNumber}, (uint) {index})");

            case ValueType.Enum:
                return($"({FqnType}) {schemaObject}.IndexEnum({fieldNumber}, (uint) {index})");

            case ValueType.Type:
                return($"{FqnType}.Serialization.Deserialize({schemaObject}.IndexObject({fieldNumber}, (uint) {index}))");

            default:
                throw new ArgumentOutOfRangeException("Unknown type category encountered.");
            }
        }
示例#3
0
        public string GetCountExpression(string schemaObject, uint fieldNumber)
        {
            switch (category)
            {
            case ValueType.Primitive:
                return
                    ($"{schemaObject}.{SchemaFunctionMappings.GetCountSchemaFunctionFromType(primitiveType.Value)}({fieldNumber})");

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

            case ValueType.Type:
                return($"{schemaObject}.GetObjectCount({fieldNumber})");

            default:
                throw new ArgumentOutOfRangeException("Unknown type category encountered.");
            }
        }
示例#4
0
        public string GetCountExpression(string schemaObject, int fieldNumber)
        {
            switch (category)
            {
            case ContainedTypeCategory.Primitive:
                return
                    ($"{schemaObject}.{SchemaFunctionMappings.GetCountSchemaFunctionFromType(rawType)}({fieldNumber})");

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

            case ContainedTypeCategory.UserDefined:
                return($"{schemaObject}.GetObjectCount({fieldNumber})");

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