Iterowanie po typach

0

Mam taki kod, gdzie każda linia różni się tylko typem przekazanym do metody generycznej. Da się to jakoś upiększyć, żeby kod się tak nie powtarzał? Może refleksja? Można założyć, że wszystkie typy dziedziczą po klasie Entity.

obiekt.Metoda<A>(jakisparam);
obiekt.Metoda<B>(jakisparam);
obiekt.Metoda<C>(jakisparam);
obiekt.Metoda<D>(jakisparam);
// ... i tak jeszcze kilka razy
1

jeśli masz możliwość zmienić nieco metodę możesz spróbować:

obiekt.Metoda(jakisparam, type)

i wtedy

IEnumerable<Type> types = ...
foreach(Type t in types)
  obiekt.Metoda(jakisparam, t)

0

Edit: w sumie ta metoda ma chyba taki overload z typem jako parametr

Niestety nie mogę raczej zmienić metody. Dokładniej to chodzi o metodę Entity z entity frameworkowego modelBuildera.

https://github.com/dotnet/efcore/issues/27587#issuecomment-1061919558

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    if (Database.IsInMemory())
    {
        modelBuilder.Entity<SomeEntityType>(b =>
        {
            b.Property<DateTime>("SysStart");
            b.Property<DateTime>("SysEnd");
        });
    }
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1