我在c#中有一個方法,它將一組包含在一個類中的屬性推送到azure服務總線隊列。有太多類型需要推送,所以我編寫了一個方法,它使用匿名對象,並使用BrokeredMessaging類將其發送到服務總線隊列。沿着這條線將匿名對象發送到Azure中的服務總線隊列
東西:
//I intially used the string type to know what type of class is passed
//and then using switch statement, handle each case accordingly.
//But it becomes a very long list of switch statements and I don't want that.
public static bool QueueUp(Object obj, string type)
{
var msg = new BrokeredMessage(obj);
_sendObjClient.Send(msg);
}
此代碼不能正常工作。我想通過傳入顯式類型的對象來保存調用此方法的許多位置;他們應該發送任何對象,並且我希望這部分代碼能夠完成艱苦的工作並將其序列化到隊列中。
剛剛介紹到System.Reflection
命名空間,但我還沒有抓住如何實際實現我的目標。 任何幫助將不勝感激。
你可能做錯了什麼。它應該適用於任何類型,並且應該從一個'object'自動地序列化類型。該類型應具有一些屬性,以允許序列化程序獲取需要序列化的內部狀態。你能解釋一下嗎:*「這段代碼不起作用。」*? – oleksii
好的。它拋出了一個例外。讓我重新運行它,然後選擇它拋出的異常類型。 – olatunjee
它拋出了一個'System.InvalidOperationException'異常。 – olatunjee