0
我創建了事件代碼開關..case,我不知道如何將事件代碼翻譯成的XElement的事件狀態需要幫助Switch..Case的值轉換爲輸出到XML
這裏是EVENTCODE類
public class EventCode
{
public enum EvCodes {Delivered, DispatchedForDelivery,
DepartedFromTerminal, ArrivedAtDestinationTerminal};
public static void Main()
{
string val = "Dispatched For Delivery";
switch ((EvCodes)Enum.Parse(typeof(EvCodes), val.Replace(" ", "")))
{
case EvCodes.DispatchedForDelivery:
case EvCodes.Delivered:
Console.WriteLine("OD");
break;
case EvCodes.DepartedFromTerminal:
Console.WriteLine("L1");
break;
}
}
這裏是EventStatus是什麼,我想轉換或讀取值:
rspxml.Root.Add(
new XElement("API", "4.0"),
new XElement("PackageTrackingInfo",
new XElement("TrackingNumber", prc.ProNumber)
),
new XElement("TrackingEventHistory",
prc.History.Cast<Saia.Data.General.Shipment.HistoryItem>().Select(item =>
new XElement("TrackingEventDetail",
new XElement("EventStatus", prc.History,
new XElement("EventReason", prc.History),
new XElement("EventDateTime", prc.History)
難道是這樣的:
new XElement("EventStatus", EventCode.EvCodes.Delivered
獲取有關這幾個錯誤:\t 1.'Extension方法必須在頂級靜態類中定義; EvMapper是一個嵌套類\t 2.'名稱'EvCodes'在當前上下文中不存在 – user2091766
好吧,編譯器沒有錯 擴展方法是一個建議,如果你想使用它,那麼它需要以進入單獨的靜態類,如果不是的話,您可以從value參數中刪除'this'關鍵字,並將ToXml方法放在同一個類中,您可以從 中調用它。我不知道EvMapper是什麼 - 它不是在你的示例代碼中 – lowds