-
Notifications
You must be signed in to change notification settings - Fork 174
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Exception when serializing generic property #119
Comments
Seems the editor can't handle tags... public abstract class A<TId> public class B : A<int> |
I could not reproduce this, but if the |
Yes, sorry for noc mentioning it earlier. The whole declaration of Id is: public virtual TId Id |
OK, thank you. I'll fix it. |
…mbers which use generic type parameter(s). Issue #119 This commit adds storing MethodBase/FieldInfo together with existing code-gen related info. It solves field/method resolution failure for generic ones. In addition, this commit adds unit tests for issue 119.
…element in recursive mode. Issue #119
Two classes:
public abstract class A
{
public virtual TId Id { get; set; }
}
public class B : A:
{
}
An exception is thrown when creating serializer for an instance of class B:
Void set_Id method (Int32) can not be solved because the declarative type descriptor methods A`1 [tid] is generic. Explicitly specify the type of declaration GetMethodFromHandle.
System.Reflection.MethodBase.GetMethodFromHandle(RuntimeMethodHandle handle) +11045317
MsgPack.Serialization.EmittingSerializers.FieldBasedSerializerEmitter.CreateConstructor() in d:\build\msgpack-cli-latest\src\MsgPack\Serialization\EmittingSerializers\FieldBasedSerializerEmitter.cs:448
MsgPack.Serialization.EmittingSerializers.SerializerEmitter.CreateInstance(SerializationContext context, PolymorphismSchema schema) in d:\build\msgpack-cli-latest\src\MsgPack\Serialization\EmittingSerializers\SerializerEmitter.cs:130
MsgPack.Serialization.EmittingSerializers.<>c__DisplayClass6f.b__6e(SerializationContext context) in d:\build\msgpack-cli-latest\src\MsgPack\Serialization\EmittingSerializers\ILEmittingSerializerBuilder
2.cs:1028 MsgPack.Serialization.AbstractSerializers.SerializerBuilder
3.BuildSerializerInstance(SerializationContext context, Type concreteType, PolymorphismSchema schema) in d:\build\msgpack-cli-latest\src\MsgPack\Serialization\AbstractSerializers\SerializerBuilder`3.cs:201MsgPack.Serialization.MessagePackSerializer.CreateInternal(SerializationContext context, PolymorphismSchema schema) in d:\build\msgpack-cli-latest\src\MsgPack\Serialization\MessagePackSerializer.cs:308
MsgPack.Serialization.SerializationContext.GetSerializer(Object providerParameter) in d:\build\msgpack-cli-latest\src\MsgPack\Serialization\SerializationContext.cs:691
MsgPack.Serialization.MessagePackSerializer.Get(SerializationContext context, Object providerParameter) in d:\build\msgpack-cli-latest\src\MsgPack\Serialization\MessagePackSerializer.cs:209
MsgPack.Serialization.MessagePackSerializer.Create(SerializationContext context) in d:\build\msgpack-cli-latest\src\MsgPack\Serialization\MessagePackSerializer.cs:106
MsgPack.Serialization.MessagePackSerializer.Create() in d:\build\msgpack-cli-latest\src\MsgPack\Serialization\MessagePackSerializer.cs:80
The text was updated successfully, but these errors were encountered: