【发布时间】:2020-02-17 21:07:49
【问题描述】:
所以我对编写通用转换模型扩展还很陌生,我试图从一个模型转到一个按预期工作的天蓝色服务总线消息。但我现在正试图做相反的事情,它可以从消息转到指定类型。
扩展方法目前看起来是这样的。
public static class ModelExtensions
{
public static Message ToMessage<TModel>(this TModel model) =>
new Message(
Encoding.UTF8.GetBytes(
JsonConvert.SerializeObject(model)));
public static TType FromMessage<TModel, TType>(this TModel model)
{
return JsonConvert.DeserializeObject<TType>(JsonConvert.SerializeObject(model));
}
}
有没有办法与我刚刚对许多类型所做的相反,这取决于扩展方法的另一侧指定的内容,例如,如果在外部我做了类似的事情。
message.FromMessage()
任何帮助将不胜感激, 提前致谢, 克里斯。
【问题讨论】:
-
ToMessage() 不需要是通用的,因为您没有在方法主体内的任何地方使用
TModel。你可以接受object。
标签: c# asp.net .net generics model