2014-02-19 35 views
0
List<PropertyInfo> propInfo = typeof(MM_WIRES_OFFICE_ACC_CUTOFF).GetProperties().ToList(); 
DbParams[] parm = new DbParams[propInfo.Count]; 
int count = 0; 

foreach (var info in propInfo) 
{ 
    parm[count] = new DbParams(info.Name, DbType.String, entity.ACCOUNT); 

    count++; 
} 

我可以這樣做嗎?我將如何確保info.Name是相同的屬性實體... 反射給我屬性按字母順序排序?重新選擇是否返回按字母順序排列的屬性名稱?

+1

MSDN說什麼......爲什麼要打電話ToList,當你要迭代一次......而且它已經是一個數組...你會知道,如果你閱讀MSDN ... http:// msdn.microsoft.com/en-us/library/aky14axb(v=vs.110).aspx –

回答

2

MSDN來自:

的的GetProperties方法不以特定 順序返回的屬性,如字母或聲明順序。您的代碼不得 取決於返回屬性的順序,因爲 順序不同。

+0

謝謝!我應該如何用實體類來完成精確的地圖屬性? – Manoj

1

沒有,但你可以對它進行排序:的GetProperties()排序依據(P => p.Name)

1

根據the fine manual

的的GetProperties方法不會在返回的屬性特定的順序,如字母順序或聲明順序。您的代碼不得依賴於返回屬性的順序,因爲順序會有所不同。

使用OrderBy得到您需要的順序。

相關問題