0

我有一個使用EF模型的RIA服務Silverlight 3.0應用程序。在該模型中的元數據我已經提供了,我想當提到對客戶端模型中使用的一些顯示名稱屬性(在文本框,等。)如何使用RIA服務從Silverlight客戶端讀取元數據值

我使用反射現在得到模型在客戶端上的屬性,這樣如果模型隨時間變化,我不需要更新客戶端代碼。我只是不知道如何訪問元數據。

private void Field_Loaded(object sender, RoutedEventArgs e) 
{ 
    System.Reflection.MemberInfo[] members = this.ModelType.GetMembers(); 
    foreach (System.Reflection.MemberInfo member in members) 
    { 
     System.Reflection.PropertyInfo property = member as System.Reflection.PropertyInfo; 
     if (property != null && property.PropertyType == typeof(System.String)) 
     { 
      ComboBoxItem item = new ComboBoxItem(); 
      item.Content = property.Name; // <--- This is where I want to use Display Name 
      this._field.Items.Add(item); 
     } 
    } 
} 

由於提前,

回答

1

你應該能夠使用這種與GetCustomAttributes傳遞DisplayNameAttribute作爲類型做。

+0

謝謝科比,但我無法在Silverlight程序集中找到System.ComponentModel.DisplayNameAttribute。它顯示在服務器的空間中,但不是客戶端。我需要引用一些特殊的東西來獲取Silverlight嗎? – 2009-11-16 19:18:47

+0

我認爲它實際上是調用DisplayAttribute,而不是DisplayNameAttribute。 – Bryant 2009-11-16 19:26:14

+0

這很奇怪,我發現DescriptionAttribute,這工作正常,但沒有任何開始與'顯示'顯示在Intellisense。 – 2009-11-16 19:39:35

相關問題