我不知道這是否可能,但我試圖以某種方式保持一個對象的類型,以便我可以轉換/將該對象轉換回它的原始值後來。C#存儲值爲T稍後轉換
基本上我有一個使用RabbitMQ的消息傳遞引擎。我收到一個消息,它是一個帶有JSON字符串的.net對象,我需要將它序列化回.net對象/類,但是我希望儘可能通用,並且因此希望發送類型爲克拉斯無論是作爲一個類型或作爲與對象沿一個字符串的消息包含在
目的:
public Message
{
public string JsonObject { get; set; }
public Type MessageType { get; set; }
}
序列化:
Message message = new Message(); // I actually receive message as a param in a Method
var message = JsonConvert.DeserializeObject<message.MessageType>(futureMessage.JsonObject);
在<type>
部分我正在一個錯誤「無法找到類型或命名空間名稱'type' 。
DoSomething<T>(message);
其中T必須是同一類型,我存儲在我的Message對象更早:在我的代碼以後(是否缺少或使用指令或程序集引用一個?)」
然後。在
是什麼,我試圖做甚至有可能
編輯:刪除不必要的Type type = Type.GetType(message.MessageType)
線
編輯:我需要個在泛型類型,因爲我想發送該類型T到另一個方法稍後在我的代碼。
你就不能使用'object'類型? – Sam 2014-09-01 11:43:14