public
static class EntityFactory
{
public static T CreateEntity<T>() where T : new()
{
//Nesnemizi yaratalım
T t =
new T();
return t;
}
AdresDefteri.Entity.Kisi k = EntityFactory
.CreateEntity<AdresDefteri.Entity.Kisi>();
----
public static class EntityFactory
{
public static T CreateEntity<T>() where T : new()
{
//Nesnemizi yaratalım
T t =
new T();
//has ilişkili Collection ları Kontrol edelim eğer varsa onlarıda instancelayalım
Type typeData = typeof(T);
FieldInfo[] fields = typeData.GetFields(BindingFlags.Instance | BindingFlags.NonPublic);
foreach (FieldInfo field in fields)
{
if (field.FieldType.Name.Equals("IList`1"))
{
Type genericIListType = field.FieldType;
Type genericListType = typeof(List<>);
Type constructedListType = genericListType.MakeGenericType(genericIListType.GetGenericArguments());
field.SetValue(t,
Activator.CreateInstance(constructedListType));
}
}
return t;
}
}