IObjectConverter CreateMissingConverter(Type type) { var implementationType = type.GetTypeInfo().IsInterface ? _implementationBuilder.GetImplementationType(type) : type; var converterType = typeof(DynamicObjectConverter <,>).MakeGenericType(type, implementationType); return((IObjectConverter)Activator.CreateInstance(converterType, this)); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { Type proxyType = _builder.GetImplementationType(objectType); return(serializer.Deserialize(reader, proxyType)); }
IObjectConverter CreateMissingConverter(Type type) { Type implementationType = _implementationBuilder.GetImplementationType(type); Type converterType = typeof(DynamicObjectConverter <,>).MakeGenericType(type, implementationType); return((IObjectConverter)Activator.CreateInstance(converterType, this)); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var proxyType = _builder.GetImplementationType(typeof(IRegisterOrder)); var actual = serializer.Deserialize <MyOrder>(reader); var msg = new MyMessage { Message = actual, DestinationAddress = "sb://janysbtest.servicebus.windows.net/MassTransitDemo.Messaging.Contract.Commands/IRegisterOrder", MessageType = new[] { "urn:message:MassTransitDemo.Messaging.Contract.Commands:IRegisterOrder", "urn:message:MassTransitDemo.Registration.Service:MyOrder" }, Headers = new Dictionary <string, object>(), MessageId = actual.Id.ToString(), CorrelationId = actual.Id.ToString(), ConversationId = actual.Id.ToString(), SourceAddress = "sb://janysbtest.servicebus.windows.net/PCJANY01_MassTransitDemoPublisher_bus_zazoyybntybbmprtbdk353wobf?express=true&autodelete=300" }; return(msg); }
public Type GetImplementationType <T>() where T : TSchema { return(_implementationBuilder.GetImplementationType(typeof(T))); }
Type ISchemaLayoutBuilder <TSchema> .GetImplementationType <T>() { return(_implementationBuilder.GetImplementationType(typeof(T))); }