2016-06-08 91 views
1

object picture如何获得动态对象的长度,我从Ajax函数中获得对象,并且我试图从动态对象中的数据构建一个列表,但它不起作用我使用了matchesData.lenght。动态对象的长度

public string updateQueue(dynamic matchesData) 
     { 
      MatchesQueues m = new MatchesQueues(); 
      List<MatchesQueues> MQ = new List<MatchesQueues>(); 
      for (int i = 0; i < matchesData.length; i++) 
      { 
       MatchesQueues matchqueue = new MatchesQueues(matchesData[i].FieldId, matchesData[i].MatchId, matchesData[i].NumInQueue); 
       MQ.Add(matchqueue); 
      } 

      int rowsAffected = m.updateQueue(MQ); 
      if (rowsAffected == 1) 
      { 
       return "Time Updated"; 
      } 
      else 
      { 
       throw (new Exception("Time didn't updated")); 
      } 
     } 

回答

0

由于matchesDatadynamic型的,没有办法,你知道它有一个length属性,但如果你确信,它已尝试访问length属性之前它转到特定类型。例如,如果你知道它的string类型,然后将它转换为字符串类型,然后访问像

var data = matchesData as string; 
if(data != null) 
{ 
for (int i = 0; i < data.length; i++) {...} 
} 
+0

属性的问题是,它是一个复杂的对象,看到的画面。这是我决定使用动态而不是列表的字符串列表的第一个原因。我添加了一个对象 –

+0

@MosheEzer的图片,'matchesData'的实际类型是什么?张贴类的定义为更好地澄清?一张图片不会有太大的帮助。 – Rahul