예제 #1
0
        public ClassSerializationInfo(TypeDefinition definition, FieldSerializationInfo[] fieldInfos, PropertySerializationInfo[] propertyInfos, int minIntKey, int maxIntKey, MethodDefinition serializationConstructorDefinition)
#endif
        {
            Definition               = definition;
            FieldInfos               = fieldInfos;
            PropertyInfos            = propertyInfos;
            StringKeyValuePairs      = StringKeyEnumerateHelper.Enumerate(fieldInfos, propertyInfos);
            MinIntKey                = minIntKey;
            MaxIntKey                = maxIntKey;
            SerializationConstructor = serializationConstructorDefinition;
            CustomFormatter          = CustomFormatterTypeInfo.Default;

            AreAllMessagePackPrimitive = this.FieldInfos.All(x => x.IsMessagePackPrimitive) && this.PropertyInfos.All(x => x.IsMessagePackPrimitive);
            PublicAccessible           = PublicTypeTestUtility.IsPublicType(definition) && this.FieldInfos.All(x => x.PublicAccessible) && this.PropertyInfos.All(x => x.PublicAccessible);
        }
예제 #2
0
        public ClassSerializationInfo(TypeDefinition definition, CustomFormatterTypeInfo customFormatterTypeInfo, MethodDefinition serializationConstructorDefinition)
#endif
        {
            Definition               = definition;
            FieldInfos               = Array.Empty <FieldSerializationInfo>();
            PropertyInfos            = Array.Empty <PropertySerializationInfo>();
            StringKeyValuePairs      = Array.Empty <StringKeySerializationInfoTuple>();
            CustomFormatter          = customFormatterTypeInfo;
            MinIntKey                = 0;
            MaxIntKey                = 0;
            SerializationConstructor = serializationConstructorDefinition;

            AreAllMessagePackPrimitive = FieldInfos.All(x => x.IsMessagePackPrimitive) && PropertyInfos.All(x => x.IsMessagePackPrimitive);
            PublicAccessible           = PublicTypeTestUtility.IsPublicType(definition) && FieldInfos.All(x => x.PublicAccessible) && PropertyInfos.All(x => x.PublicAccessible);
        }
예제 #3
0
        public GenericClassSerializationInfo(TypeDefinition definition, CustomFormatterTypeInfo customFormatter, GenericInstanceType[] definitionVariations)
        {
            Definition                          = definition;
            CustomFormatter                     = customFormatter;
            FieldInfos                          = Array.Empty <FieldSerializationInfo>();
            PropertyInfos                       = Array.Empty <PropertySerializationInfo>();
            StringKeyValuePairs                 = Array.Empty <StringKeySerializationInfoTuple>();
            MinIntKey                           = 0;
            MaxIntKey                           = 0;
            SerializationConstructor            = default;
            DefinitionGenericInstanceVariations = definitionVariations;

            AreAllMessagePackPrimitive = FieldInfos.All(x => x.IsMessagePackPrimitive) && PropertyInfos.All(x => x.IsMessagePackPrimitive);
            PublicAccessible           = PublicTypeTestUtility.IsPublicType(definition) && FieldInfos.All(x => x.PublicAccessible) && PropertyInfos.All(x => x.PublicAccessible);
        }