0
我已经注册了服务这样的启动对象:如何解决和使用autofac和JSON
builder.RegisterType<NoticeEmail>().Keyed<INoticeChannel>(ChannelType.Email);
builder.RegisterType<NoticePushover>().Keyed<INoticeChannel>(ChannelType.Pushover);
,我解决这些问题如下:
public INoticeChannel Resolve(ChannelType type, string message)
{
var r = _context.ResolveKeyed<INoticeChannel>(type);
Type myType = Type.GetType(r.GetType().Name);
var t = JsonConvert.DeserializeObject(message, myType);
return r;
}
解决是伟大的工作,但我也要喜欢用来自message
的json数据初始化对象并返回特定的对象。我怎样才能做到这一点?
你为什么要叫'Type.GetType(r.GetType()名称。)',而不是简单地使用'r.GetType()'? – Steven