我的函數接收一個參數'值',類型對象。我想將它分配給一個對象的成員,但是這個轉換不會隱式發生,所以我需要明確地指定它。不過,我不想竟指定當前類型的對象成員,所以我可以這樣做:動態確定類型投到(C#)
positiveOrder.OrderID = (int)value;
但是,如果業務需求的變化和OrderIDs生成並存儲在不同的方式,包括一個類型改變爲字符串爲GUIDS例如,我將不得不回到這裏並改變它,這是不希望的凝聚力。我已經與不同的代碼排列嘗試像
positiveOrder.OrderID = value as thisOrder.OrderID.GetType();
或
positiveOrder.OrderID = (typeof(thisOrder.OrderID)) value;
,但似乎沒有奏效。以編程方式指定要轉換的類型的任何想法?它可以在編譯時或運行時完成,因爲Order類不會更改。
「如果明天我更改Order類以將其OrderID成員保存爲String,而不是」爲什麼要這樣做?而這又如何影響'價值'的類型(這也可能會改變)? – Codesleuth 2012-07-06 12:44:49
值總是作爲對象發送,通過代碼我不控制。該代碼不知道我的實現細節,這就是爲什麼它發送它離開鑄件給我。根據不斷變化的業務需求,我可能必須更改OrderID的類型。現在,我在模型中使用了簡單的增量整數,但在最終的應用程序中,我可能會使用字符串來代替。我只是不想通過指定兩次OrderID的類型來重複自己,這樣如果我必須更改它,我不需要更改它兩次。這是一個比功能性問題更好的設計問題。 – Neil 2012-07-06 17:04:54