Hi,
ich bin hier gerade am erstellen eines Konfigurators für eine Anwendung. Dieser durchsucht ein best. Verzeichnis nach dlls und darin enthaltenen Klassen. Davon kann man sich welche raussuchen und seine Applikation je nach belieben zusammenstellen. Soweit kein Problem.
Nur hätte ich gern in der Übersicht auch eine Beschreibung der Klassen anzeigen. Nur hab nich nirgends was gefunden, wie man an (am besten) den <summary>-Inhalt einer Klasse kommt. Das muss doch irgendwo in den Assemblys stehen...
Alternativ wär auch die Description der Assemby mit der Klasse gut, aber da weiß ich auch nicht, wie ich da rankommen...
Gruß
dN!3L
Nein, Du musst Dir die XML dazu erstellen lassen (kannst Du in den Projekteigenschaften bei "Erstellen" angeben) und diese dann auslesen. In den Assemblies selbst steht davon nichts mehr...
Hm, aber wenn ich eine dll Refereziere, hab ich doch auch immer die Klassenbeschreibungen, Parameterinfos, usw. davon mit dazu (also im IntelliSense)... 🤔
Aber doch nur bei DLLs, die entweder im Quellcode vorliegen (die im eigenen Projekt zum Beispiel) oder zu denen die XML-Datei existiert... oder nicht?
Original von typhos
Aber doch nur bei DLLs, die entweder im Quellcode vorliegen (die im eigenen Projekt zum Beispiel) oder zu denen die XML-Datei existiert... oder nicht?
Hm, verdammt. Gerade nochmal probiert. Irgendeine DLL eingebunden, aber keine Infos dazu.
Original von marsgk
Attribute würden sich da als Alternative anbieten.
Wär das einfachste (die Klassen werden schon nach speziellen Attributen gesucht, bräuchte also nur nen Parameter dazumachen), aber gefällt mir nicht ganz, da die Klasse ja schon eine Beschreibung hat. Dann hätte das Attribut genau den gleichen Text nochmal dazustehen, ist nicht ganz das DRY-Prinzip.
Also am liebsten wär mir immer noch, die Description der Assembly, aus der die Klasse ist, zu lesen. Sowas steht da aber immer drin... 😁 (wenn angegeben).
Gruß
dN!3L
_Original von dN!3L_Also am liebsten wär mir immer noch, die Description der Assembly, aus der die Klasse ist, zu lesen. Sowas steht da aber immer drin... 😁 (wenn angegeben).
Und der vollständigkeit halber hier der Code dazu:
object[] assemblyDescriptionAttributes = assembly.GetCustomAttributes(typeof(AssemblyDescriptionAttribute),false);
string assemblyDescription = "";
foreach (AssemblyDescriptionAttribute assemblyDescriptionAttribute in assemblyDescriptionAttributes)
assemblyDescription += assemblyDescriptionAttribute.Description;
Gruß
dN!3L