के भीतर ऑब्जेक्ट्स की गणना करें मेरे पास एक गतिशील वस्तु है (यह वास्तव में जेसन है) कि मैं अपने एमवीसी वेबएपी नियंत्रक में जाता हूं।डायनामिक अनाम ऑब्जेक्ट (सी #)
जेसन ऑब्जेक्ट में एक अज्ञात ऑब्जेक्ट के भीतर कई सूचियां हैं जो नियंत्रक को client.PostAsJsonAsync("myapiurl", objectGraph)
के माध्यम से किसी अन्य एप्लिकेशन से सबमिट की जाती हैं।
एमवीसी पक्ष पर ऑब्जेक्ट को सत्यापित करने के लिए मुझे क्या करना है, प्रत्येक सूची में ऑब्जेक्ट्स की गिनती प्राप्त करना है। मैं mydynamicobject.mylist
और व्यक्तिगत आइटम mydynamicobject.mylist[index]
के माध्यम से गतिशील रूप से सूचियों तक पहुंच सकता हूं लेकिन मुझे mydynamicobject.mylist
की गिनती प्राप्त करने में सक्षम नहीं लगता है।
क्या मैं अब तक की कोशिश की है:
- LINQ विस्तार तरीकों - गतिशील
Enumerable.Count(mydynamicobject.mylist)
पर काम नहीं करता - प्रकार
किसी भी अन्य विचारों अनुमान नहीं लगा सकता? गिनती वास्तव में डायनामिक ऑब्जेक्ट के base
में सही ढंग से उपलब्ध है लेकिन स्पष्ट रूप से किसी संपत्ति के रूप में सुलभ नहीं है। मदद!
यह अब काम करता है:
// This is a MVC/WebApi method
public dynamic Post(dynamic mydynamicobject)
if (((ICollection)mydynamicobject.mylist).Count == 0)
{
// do something
}
कोड है कि गतिशील वस्तु (दूसरा एप्लिकेशन) भेजता है:
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Accept.Add
(new MediaTypeWithQualityHeaderValue("application/json"));
var objectGraph = new { mylist = new { Id = 1 }, mylist2 = new { Name = "ABC" } };
var r = client.PostAsJsonAsync("api/mycontroller", objectGraph).Result;
'mydynamicobject.mylist' किस बिंदु पर विफल रहता है - संकलन-समय या निष्पादन समय? –
मैं केवल गतिशील वस्तु के भीतर सूची की गणना नहीं कर सकता। विफलता मैं जो कोशिश करता हूं उस पर निर्भर करती है। संख्यात्मक। गणना कहती है कि यह प्रकार का अनुमान नहीं लगा सकता है और इसे स्पष्ट रूप से निर्दिष्ट नहीं कर सकता है। – Alex
क्षमा करें, मेरा मतलब 'एन्यूमेरेबल.काउंट' है - निष्पादन समय में त्रुटि है, या संकलन समय है? 'Mydynamicobject.mylist' का निष्पादन-समय प्रकार * क्या है? –