2009-10-06 14 views

risposta

13

Da MSDN:

Procedimento GetProperties non proprietà di ritorno in un particolare ordine , come alfabetico o ordine di dichiarazione. Il tuo codice non deve dipende dall'ordine in cui vengono restituite le proprietà , perché l'ordine varia.

+2

Doh! Devo aver sfogliato quella parte. Nota a se stessi: aspetta un giorno prima di pubblicare la mia stupida domanda. :) –

+1

Sembra comunque coerente. Ho un'applicazione di test che utilizza GetProperties per definire e popolare un DataGridView e i tipi e i valori che restituiscono sempre le chiamate separate. – ChrisF

+0

@ChrisF: sono in qualche ordine arbitrario o c'è un motivo? Semmai ho pensato che sarebbero stati nell'ordine in cui sono comparsi nel codice. –

1

Penso che si può ordinare di nuovo l'array usando "PropertyInfo.MetadataToken" Ti piace questa:

Array.Sort(propertyInfos, delegate(PropertyInfo first, PropertyInfo second) 
    { 
      return first.MetadataToken.CompareTo(second.MetadataToken); 
    }); 
Problemi correlati