0
例如,我的輸入XML看起來像這樣。將字面值映射到對象屬性/值
<root>
<myelemt>
<input type="variable">
<variable>STARTDATE</variable>
<variable>CUSTOMERNAME</variable>
</input>
</myelemt>
</root>
它進行反序列化並加載到該對象在我的代碼MyXmlElemtObj
我寫這樣,
if(MyXmlElemtObj.input.variable.ToUpper() == "STARTDATE")
ProcessObjectB(ObjectA.OrderDate);
if(MyXmlElemtObj.input.variable.ToUpper() == "CUSTOMERNAME")
ProcessObjectB(ObjectC.UserName);
在這裏,我映射這些輸入文字到某些對象的值。
讓我感到害怕的是在我的代碼中看到一些**硬編碼文字**。
相反,我想寫點東西像ProcessObjectB(Common.GetMappedvalue(MyXmlElemtObj.input.variable));
有沒有辦法來這個映射件事隔離到普通班,在那裏我會預先定義其字面映射 哪個值。問題是這些值是運行時創建的對象的值。
如果我的問題是有道理的那麼那麼我該如何實現呢?
我想我已經給出了所有必要的細節。如果有什麼遺漏,請metnion。 Thx很多。