[英]How to obtain Enum value from stringified XML?
我有一個方法,它獲取字符串化的 XML 作為參數,並返回一個 object,其中字符串的特定字段作為其屬性。這些字段與 class 字段映射。
到目前為止,我可以獲得具有兩個屬性(Id,Title)但不是 Enum 屬性的結果(processedObj)。 如何使其可識別並獲得其當前價值?
主class
email.Content = '<EmailClass><ID>210</ID><Title>Urgent</Title><Date>2020-06-01</Date>
<Action>Delete</Action></EmailClass>'
Dim processedObj = XmlProcessor.ObjectfromStrXml(Of EmailClass)(email.Content)
電子郵件類 class
<Serializable()>
<XmlRoot("EmailClass")>
Public Class EmailClass
Public ID As String
Public Title As String
Public Enum Action
Send
Delete
End Enum
End Class
Xml處理器 class
public static T ObjectfromStrXml<T>(string p_StrXML){
T result;
using (MemoryStream mStream = new MemoryStream(Encoding.UTF8.GetBytes(p_StrXML)))
using (StreamReader stReader = new StreamReader(mStream , Encoding.UTF8))
using (XmlReader reader = new XmlTextReader(stReader))
{
XmlSerializer serializer = new XmlSerializer(typeof(T));
result = (T)(serializer.Deserialize(reader));
streamReader.Close();
memoryStream.Close();
reader.Close();
}
return result;
}
試試下面的代碼:
Public Class EmailClass
Public ID As String
Public Title As String
Private PAction As EAction
Public Property Action As String
Get
Return PAction.ToString()
End Get
Set(value As String)
PAction = [Enum].Parse(GetType(EAction), value)
End Set
End Property
Public Enum EAction
Send
Delete
End Enum
End Class
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.