Extension Data Get Value – Extension Data Olarak Gelen Veriyi Okumak
Merhabalar Arkadaşlar ,
Bugün webservisten veri çekerken sık karşılaşmadığım şekilde bir veri dönüşü oldu servisten ,Veriler servisin Keylerinde değil Extension Data Field ların içinde gelmekte idi,
mecburi olarak gelen veriyi parçalamak zorunda kaldım , bunun için kullandığım methodu sizlerle paylaşmak istedim.
Öncelik olarak gelen verinin şu şekilde gelmekteydi :
[raw] [/raw]
Bu veriyi parçalamak için bu kullandığım fonksyon :
// public string GetExtensionDataMemberValue(IExtensibleDataObject extensibleObject, string dataMemberName) { string innerValue = ""; PropertyInfo membersProperty = typeof(ExtensionDataObject).GetProperty("Members", BindingFlags.NonPublic | BindingFlags.Instance); IList members = (IList)membersProperty.GetValue(extensibleObject.ExtensionData, null); foreach (object member in members) { var name = member.GetType().GetProperty("Name").GetValue(member); if (name.ToString() == dataMemberName) { var value = member.GetType().GetProperty("Value").GetValue(member); innerValue = value.GetType().GetProperty("Value").GetValue(value).ToString(); break; } } return innerValue; } //
[raw] [/raw]
extensibleObject olarak webservis ten gelen listedeki objeyi veriyoruz , benim objem bu serviste ItemsSellingPrice idi .
dataMemberName olarak ta gelen datanın adını yazıyoruz .
Örneğin :
// string BaseSellingPrice = GetExtensionDataMemberValue(itemPrice, "BaseSellingPrice") //
[raw] [/raw]
Bu tarz bir durumla karşılaştığınızda hayat kurtaracak bir fonksiyon.
Umarım faydasını görürsünüz.
İyi günler 🙂