![]() |
Attribute (enum) und Klartext
Vorweg: Sorry für den blöden Titel, aber wie soll ich mein Problem kurz beschreiben? Wenn jemand nach dem Lesen was weiß, dann her damit.
Ich bin gerade dabei, meinen Help 2.0 Namespaces-Auflister für .NET umzubauen. Dabei muss ich einige Attribute abfragen, bspw. welche Hilfedatei und welche Indexdatei usw. zu einer bestimmten Id gehört. Angezeigt werden sollen natürlich dann das jeweilige Attribut und der ermittelte Wert. Der Einfachheit halber habe ich mir dazu folgendes gebaut:
Code:
Bislang mache ich das dann eben so: Ich erzeuge einen Eintrag in der List-View, der den Namen des o.g. Attributes (s. enum) enthält. Das tatsächliche Attribut würde aber mit "HxReg" beginnen (also HxRegTitleFileName), aber das hätte in der Liste nicht so toll ausgesehen:
public enum TitleProperty
{ TitleId, TitleFileName, // Help document (*.HxS) TitleIndexName, // Help index (*.HxI) TitleQueryName, AttrQueryName, TitleLangId, TitleHxsMediaLoc, TitleHxqMediaLoc, TitleHxrMediaLoc, TitleSampleMediaLoc } // // Und ein Stück aus der dazu gehörenden Klasse // public string GetProperty(string propertyName) { try { HxRegTitlePropId property = (HxRegTitlePropId)Enum.Parse(typeof(HxRegTitlePropId), propertyName); object result = this.help2Document.GetProperty(property); return result.ToString(); } catch { return ""; } }
Code:
Gibt´s eine einfache und saubere Möglichkeit, die o.g. Attributnamen vllt. doch durch Klartext zu ersetzen? So soll aus "TitleFileName" einfach "Help document (*.hxs)" werden. Wie gesagt, irgendeine Idee, auf die ich gerade nicht komme? So was wie ein enum von Strings, das man dann zuordnen kann? :gruebel:
foreach(TitleProperty property in document.TitleProperties) {
ListViewItem lvi = new ListViewItem(property.ToString()); lvi.SubItems.Add(document.GetProperty(String.Format("HxReg{0}", property.ToString()))); lv1.Items.Add(lvi); } |
Re: Attribute (enum) und Klartext
Dictionary<TitleProperty,string> könnte was bringen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz