Yansımayla, koleksiyonun türünü görmek için genel bir Listenin içerdiği türe bakmamın bir yolu var mı? Örneğin:Yansıma yoluyla bir Liste <T>'un içerdiği türünü alın.
böyle bir arayüzden türetmek iş nesneleri basit bir dizi var: Ben yansıma yoluyla BusinessEntity özellikleri yineleme am durumda
public interface IEntityBase{}
public class BusinessEntity : IEntityBase
{
public IList<string> SomeStrings {get; set;}
public IList<ChildBusinessEntity> ChildEntities { get; set;}
}
public class ChildBusinessEntity : IEntityBase{}
, orada olacağını Nesnelerin IEntityBase'den türetilen listelerde iç içe geçip geçmediğini görmek için bir yol var mı? Böyle (kötü) kodlu
Sözde: Şimdiye kadar duyduğum Tek seçenek
foreach(PropertyInfo info in typeof(BusinessEntity).GetProperties())
{
if(info.PropertyType is GenericIList &&
TheNestedTypeInThisList.IsAssignableFrom(IEntityBase)
{
return true;
}
}
, işler o zaman, bu listeden ilk öğeyi çekip türünün bakmak olurdu . Daha kolay bir yol (özellikle Listenin boş kalmayacağı garanti edilemediğinden)? Size varsayarsak
Dupe: http://stackoverflow.com/questions/528546/type-getinterface-and-nested-types –
Değil dupe: bu soruyu rağmen (bu, oysa iç içe türleri soruyor başlık) genel bir türden soruyor gibi görünüyor. – ChrisW
Oops, haklısın, benim kötü: P –