Erstellen Sie ein Objekt der Generischen Klasse mit dynamisch generierten Typ

Habe ich eine generische Klasse

public  class MyClass<T>
{
   public List<T> Translate(List<T> list, params string[] names)
           {
            //do something here,modify list and return list
       }
    }

Nun ich kann einfach erstellen Sie Ihre Instanzen wie

MyClass<Employee> obj= new MyClass<Employee>(); OR
MyClass<Vehicle> obj = new MyClass<Vehicle>();

Ich anrufen kann meine Methode wie

    obj.Translate(Mylist of employee or vehicle type,"param1","param2")

Aber in meinem Fall weiß ich nicht den Typ T als erzeugt zur Laufzeit,finden Sie den code unten

String classname = string.Empty;

if(Classtype == 1)
{
    classname = "Employee"
}
else if(classtype == 2)
{
    classname = "Vehicle"
}

Möchte ich sowas wie unten..damit kann ich creat eine Instanz der generischen Klasse

MyClass<typeof(classname)> empp = new MyClass<typeof(classname)>();

    empp.Translate(MyList,"param1","param2")

Bitte vorschlagen,wie kann ich das tun.

  • Ist es eigentlich sinnvoll Sie zu haben T, oder benötigen Sie nur die Laufzeit Type?
  • möglich, Duplikat der Wie dynamisch erstellen von generischen C# - Objekt mit Reflexion?
  • Nun möchte ich nennen, meine generische Klasse ist die Methode, Wie kann ich etwas tun, wie Instanz.Mymethod(Parameter);
  • Nun möchte ich nennen, meine generische Klasse ist die Methode, Wie kann ich etwas tun, wie Instanz.Mymethod(Parameter);
  • Ich glaube, Sie sollten auch beschreiben, wie Sie sind, soll die Verwendung des generischen Typs in Ihre Zukunft code.
  • ich habe bearbeitet den code.. bitte haben Sie einen Blick
  • Nun, könnten Sie ein paar details über die Translate Methode? Vielleicht beschreiben, was es tut?

InformationsquelleAutor Ishan Arora | 2013-11-19
Schreibe einen Kommentar