C#泛型扩展方法问题

C#泛型扩展方法问题,c#,asp.net,.net,generics,model,C#,Asp.net,.net,Generics,Model,因此,我对编写通用转换模型扩展相当陌生,我试图从一个模型转换为一个azure服务总线消息,该消息按预期工作。但我现在正试图做相反的事情,它可以从消息转到指定的类型 扩展方法目前看起来是这样的 公共静态类模型扩展 { 公共静态消息到消息(此TModel模型)=> 新消息( Encoding.UTF8.GetBytes( 序列化对象(模型)); 公共静态TType FromMessage(此TModel模型) { 返回JsonConvert.DeserializeObject(JsonConvert

因此,我对编写通用转换模型扩展相当陌生,我试图从一个模型转换为一个azure服务总线消息,该消息按预期工作。但我现在正试图做相反的事情,它可以从消息转到指定的类型

扩展方法目前看起来是这样的

公共静态类模型扩展
{
公共静态消息到消息(此TModel模型)=>
新消息(
Encoding.UTF8.GetBytes(
序列化对象(模型));
公共静态TType FromMessage(此TModel模型)
{
返回JsonConvert.DeserializeObject(JsonConvert.SerializeObject(model));
}
}
是否有一种方法与我刚才对许多类型所做的相反,这取决于扩展方法的另一侧指定的内容(例如,如果在外部我做了类似的事情)

message.FromMessage()

任何帮助都将不胜感激, 提前感谢,, 克里斯。

应该尽可能简单

public static TModel FromMessage<TModel>(this Message message)
  => JsonConvert.DeserializeObject<TModel>(Encoding.UTF8.GetString(message.Body));
public static TModel FromMessage(此消息)
=>JsonConvert.DeserializeObject(Encoding.UTF8.GetString(message.Body));
用法

var result = message.FromMessage<MyLovelyHorse>()
var result=message.FromMessage()
应该尽可能简单

public static TModel FromMessage<TModel>(this Message message)
  => JsonConvert.DeserializeObject<TModel>(Encoding.UTF8.GetString(message.Body));
public static TModel FromMessage(此消息)
=>JsonConvert.DeserializeObject(Encoding.UTF8.GetString(message.Body));
用法

var result = message.FromMessage<MyLovelyHorse>()
var result=message.FromMessage()

在你发布之前,我已经非常接近这一点了,你会尝试一下,但这看起来应该会让人非常感激。在你发布之前,我非常接近这一点,你会尝试一下,但这看起来应该会让人非常感激。ToMessage()不需要是泛型的,因为您没有在方法体中的任何位置使用
TModel
。您可以只接受
对象
。ToMessage()不需要是泛型的,因为您没有在方法体中的任何位置使用
TModel
。您可以只接收
对象