簡體   English   中英

C# 泛型擴展方法問題

[英]C# Generics Extension Method Issues

所以我對編寫通用轉換模型擴展還很陌生,我試圖從模型轉到按預期工作的天藍色服務總線消息。 但我現在正試圖做相反的事情,它可以從消息到指定類型。

擴展方法目前看起來像這樣。

    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()

任何幫助將不勝感激,提前致謝,克里斯。

應該很簡單

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

用法

var result = message.FromMessage<MyLovelyHorse>()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM