Durch Reflektion, gibt es eine Möglichkeit für mich, den enthaltenen Typ einer generischen Liste zu betrachten, um zu sehen, aus welchem Typ die Sammlung besteht? Zum Beispiel:Get contained Typ in einer Liste <T> durch Reflexion?
ich einen einfachen Satz von Business-Objekten, die von einer Schnittstelle ableiten, wie folgt aus:
public interface IEntityBase{}
public class BusinessEntity : IEntityBase
{
public IList<string> SomeStrings {get; set;}
public IList<ChildBusinessEntity> ChildEntities { get; set;}
}
public class ChildBusinessEntity : IEntityBase{}
In dem Fall, wo ich durch die Eigenschaften von BusinessEntity durch Reflexion am Iterieren, gäbe es ein Möglichkeit für mich zu sehen, ob die Objekte innerhalb dieser von IEntityBase abgeleiteten Listen geschachtelt sind?
Pseudo codiert (schlecht) wie folgt aus:
foreach(PropertyInfo info in typeof(BusinessEntity).GetProperties())
{
if(info.PropertyType is GenericIList &&
TheNestedTypeInThisList.IsAssignableFrom(IEntityBase)
{
return true;
}
}
Option Nur die ich bisher gehört habe, wäre das funktioniert, lesen Sie das erste Element aus dieser Liste zu ziehen, dann in seiner Art aussehen . Jeder leichtere Weg (vor allem weil ich nicht garantieren kann, dass die Liste nicht leer sein wird)?
Dupe: http://stackoverflow.com/questions/528546/type-getinterface-and-nested-types –
kein Betrogene: Diese Frage ist zu geschachtelten Typen gefragt, während dieser einen (trotz der Titel) scheint nach einem generischen Typ zu fragen. – ChrisW
Hoppla, du hast recht, mein Fehler: P –