-
Couldn't load subscription status.
- Fork 174
Closed
Labels
bugDetected as bugDetected as bug
Description
If target properties has skipped order, for example DataMember(Order = 0), DataMember(Order = 2) SErializerGenerator throws ArgumentNullException.
using System;
using System.IO;
using System.Runtime.Serialization;
using MsgPack.Serialization;
[DataContract]
public class MyClass
{
[DataMember(Order = 0)]
public int MyProperty1 { get; set; }
[DataMember(Order = 2)]
public int MyProperty2 { get; set; }
}
class Program
{
static void Main(string[] args)
{
var generated = SerializerGenerator.GenerateSerializerSourceCodes(new SerializerCodeGenerationConfiguration
{
EnumSerializationMethod = EnumSerializationMethod.ByUnderlyingValue,
IsRecursive = true,
OutputDirectory = Path.GetTempPath(),
WithNullableSerializers = false,
PreferReflectionBasedSerializer = true,
SerializationMethod = SerializationMethod.Array
}, typeof(MyClass));
foreach (var item in generated)
{
Console.WriteLine(File.ReadAllText(item.FilePath));
}
}
}ハンドルされていない例外: System.ArgumentNullException: 値を Null にすることはできません。
パラメーター名:source
場所 MsgPack.Serialization.ReflectionExtensions.GetMemberValueType(MemberInfo source)
場所 MsgPack.Serialization.SerializerGenerator.SerializerGenerationLogic`1.<>c__DisplayClass10.<ExtractElementTypes>b__c(SerializingMember m)
場所 System.Linq.Enumerable.<SelectManyIterator>d__16`2.MoveNext()
場所 MsgPack.Serialization.SerializerGenerator.SerializerGenerationLogic`1.<ExtractElementTypes>d__12.MoveNext()
場所 System.Linq.Enumerable.<SelectManyIterator>d__16`2.MoveNext()
場所 System.Linq.Enumerable.<DistinctIterator>d__63`1.MoveNext()
場所 MsgPack.Serialization.SerializerGenerator.SerializerGenerationLogic`1.Generate(IEnumerable`1 targetTypes, TConfig configuration)
場所 MsgPack.Serialization.SerializerGenerator.GenerateSerializerSourceCodes(SerializerCodeGenerationConfiguration configuration, IEnumerable`1 targetTypes)
場所 MsgPack.Serialization.SerializerGenerator.GenerateSerializerSourceCodes(SerializerCodeGenerationConfiguration configuration, Type[] targetTypes)
場所 ConsoleApplication116.Program.Main(String[] args) 場所 c:\users\y.kawai\documents\visual studio 2015\Projects\ConsoleApplication116\ConsoleApplication116\Program.cs:行 40
Metadata
Metadata
Assignees
Labels
bugDetected as bugDetected as bug