根据其属性反序列化两个不同的对象

问题描述

我在某个频道中有Redis订阅,该频道返回了两种对象

成功就是给我的回报:

public class Success {
   public string Token {get; set;}
   public object Message {get; set;}
}

和另一个错误

public class Error {
  public string ErrorMessage {get; set;}
  public string Name {get; set;}
}

我对消息代码的redis订阅是这样的:

 subscription.OnMessage = (channel,msg) =>
 {
   var success = JsonConvert.DeserializeObject<Success>(msg);
   // do the things with success
 };

但是我不知道何时会返回错误,因此我需要根据属性反序列化为Success或Error模型,如下所示:

   var successOrError = JsonConvert.DeserializeObject<Either<Success,Error>>(msg);

这可能吗?或还有另一种方法

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)