Ich schleife alle Eigenschaften in einem Objekt durch Reflexion:
%Vor%Kann mir jemand sagen, wie ich feststellen kann, ob die fragliche Eigenschaft eine generische Liste (Of T) ist? Wenn es ist, muss ich die Liste selbst loopen.
Ich habe mit GetType und TypeOf experimentiert, aber es ist mir nicht gelungen, etwas zum Laufen zu bringen.
Danke.
**** Aktualisierung und Klarstellung **
Um zu verdeutlichen, möchte ich das generisch halten. Ich möchte den Typ von T nicht angeben, ich muss die Listenelemente in einer Schleife ausführen und die ToString-Methode für jedes Element aufrufen. T könnte einer von mehreren verschiedenen Typen sein (anwendungsspezifische Referenztypen). Ist es möglich, dies ohne Angabe von Typen zu tun?
(VB.NET 2005 mit .Net 2.0)
Probieren Sie diese vollständige Konsolenanwendung aus. Tut mir leid, es ist in C #.
%Vor%Hier gehts in VB.NET. (Ich benutze .NET 4.5). Wenn das ursprüngliche Objekt List (von T) mit dem Variablennamen = MyData ist, dann
%Vor%Der obige Code gibt alle Eigenschaften in der MyData-Liste an.
Wenn Sie die Eigenschaften in der Hauptliste (MyData) durchlaufen und herausfinden möchten, ob eine einzelne Eigenschaft selbst ein Listentyp ist, verwenden Sie unten for loop. Sie können die IsGenericType-Überprüfung entfernen, wenn dies auf Grundlage Ihrer Anforderung nicht erforderlich ist.
%Vor%Tags und Links reflection generics vb.net