Mam tam klasę i właściwości. Niektóre właściwości mogą być oznaczone atrybutem (to mój LocalizedDisplayName
dziedziczy po DisplayNameAttribute
). Jest to metoda uzyskać wszystkie właściwości klasy:Pobierz wszystkie właściwości, które oznaczyły określony atrybut.
private void FillAttribute()
{
Type type = typeof (NormDoc);
PropertyInfo[] propertyInfos = type.GetProperties();
foreach (var propertyInfo in propertyInfos)
{
...
}
}
chcę dodać właściwości klasy w polu listy, które oznaczone LocalizedDisplayName
i wyświetlaną wartość atrybutu w polu listy. Jak mogę to zrobić?
EDIT
To 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);
}
}
chcę uzyskać ciąg z pliku zasobów. Dzięki.
Co to jest "wartość atrybutu"? Atrybuty są klasami i mogą mieć * lot * "wartości" (właściwości/pola). Może mówisz o wyniku z 'ToString()'? Czy możesz edytować pytanie, aby dodać kod dla niestandardowych atrybutów, które stosujesz, i określić, które dane chcesz wyłączyć? –
możliwy duplikat [Jak uzyskać listę właściwości z danym atrybutem?] (Http://stackoverflow.com/questions/2281972/how-to-get-a-list-of-properties-with-a-given -atrybut) – abatishchev