Announcement

Collapse
No announcement yet.

Generic Type dynamisch einsetzen?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Generic Type dynamisch einsetzen?

    Hallo,

    aktuell habe ich ein Problem ...

    Code:
    NHDataManager.DeleteTable<DHLImportNHPersistence.Entities.Auspc>(exchangeContext);
    funktioniert natürlich wunderbar .. nur möchte ich jetzt den Typen dynamisch übergeben .. dachte an so etwas ...

    Code:
    String qClassName = "DHLImportNHPersistence.Entities.Auspc";
    Type clasxType = persistenceAssembly.GetType(gClassName);
    NHDataManager.DeleteTable<clasxType>(exchangeContext);
    funzzt leider nicht ... auch

    Code:
    NHDataManager.DeleteTable<typeof(clasxType)>(exchangeContext);
    nicht .. leider

    Gibt es da eine Lösung oder MUSS ich Methode überladen?

    Gruß

  • #2
    Hallo,

    wahrscheinlich ist ein anderer Weg sinnvoller. Andreas Kosch hat in letzter Zeit mehrfach erläutert, dass eine generische Klasse vom Compiler erzeugt wird und nicht von der Basisklasse abgeleitet ist. Konkret: DeleteTable<classType> ist von DeleteTable<T> abgeleitet, aber nicht von DeleteTable<Type>.

    Vielleicht funktioniert so etwas:
    Code:
    String qClassName = "DHLImportNHPersistence.Entities.Auspc";
    Type clasxType = persistenceAssembly.GetType(gClassName);
    if (clasxType is myType) {
        myType typ = clasxType as myType;
        NHDataManager.DeleteTable<typ>(exchangeContext);
    }
    Voraussetzung wäre eine generelle Festlegung:
    Code:
    DeleteTable<T> where T myType
    Vielleicht hilfts. Jürgen

    Comment

    Working...
    X