2
Comment puis-je créer une instance d'un type qui hérite de générique, et jeté statiquement à son type de baseExiste-t-il un moyen de ne pas utiliser dynamique lors de l'instanciation d'un type qui hérite de générique?
foreach(Type t in x.ChildType.Assembly.GetTypes())
{
if (t.BaseType.IsGenericType)
{
if (t.BaseType.GetGenericTypeDefinition() == typeof(ClassMapExt<>))
{
if (t.BaseType.GetGenericArguments()[0] == x.ChildType)
{
// t is BonusMap. BonusMap is declared as:
// class BonusMap : ClassMapExt<Bonus>
dynamic bz = Activator.CreateInstance(t);
// the last line is analogous to:
// var bz = new BonusMap();
// statically casting it doesn't work
// var bz = (ClassMapExt<>) Activator.CreateInstance(t);
foreach (IManyToOneMappingProvider imt1 in bz.ExtReference)