Ho classe e proprietà in là. Alcune proprietà possono essere contrassegnate come attribute (è la mia LocalizedDisplayName
eredita da DisplayNameAttribute
). Questo è il metodo per ottenere tutte le proprietà di classe:Ottieni tutte le proprietà che hanno contrassegnato determinati attributi
private void FillAttribute()
{
Type type = typeof (NormDoc);
PropertyInfo[] propertyInfos = type.GetProperties();
foreach (var propertyInfo in propertyInfos)
{
...
}
}
voglio aggiungere le proprietà della classe nella casella di riepilogo che ha segnato LocalizedDisplayName
e visualizzazione valore dell'attributo nella casella di riepilogo. Come posso fare questo?
EDIT
Questo è LocalizedDisplayNameAttribute:
public class LocalizedDisplayNameAttribute : DisplayNameAttribute
{
public LocalizedDisplayNameAttribute(string resourceId)
: base(GetMessageFromResource(resourceId))
{ }
private static string GetMessageFromResource(string resourceId)
{
var test =Thread.CurrentThread.CurrentCulture;
ResourceManager manager = new ResourceManager("EArchive.Data.Resources.DataResource", Assembly.GetExecutingAssembly());
return manager.GetString(resourceId);
}
}
voglio ottenere stringa dal file di risorse. Grazie.
Che cosa è "valore dell'attributo"? Gli attributi sono classi e potrebbero avere un * lotto * di "valori" (proprietà/campi). Forse stai parlando del risultato di 'ToString()'? Puoi modificare la tua domanda per aggiungere del codice per gli attributi personalizzati che stai applicando e specificare quali dati desideri disattivare? –
possibile duplicato di [Come ottenere un elenco di proprietà con un determinato attributo?] (Http://stackoverflow.com/questions/2281972/how-to-get-a-list-of-properties-with-a-given -attributo) – abatishchev