Weiß jemand, ob es möglich ist, einen Klassentyp dynamisch in eine Klasse zu übergeben, die Type TObject benötigt?Wie übergibt man einen dynamischen Typ an eine Klasse, die <TObject> erfordert
Mein Controller-Klasse wird wie folgt erklärt:
public class DataController<TObject> where TObject : class
Ich weiß nicht, was „TObject“ wird unter bestimmten Umständen zur Laufzeit sein, also würde ich gerne wissen, ob es einen Weg gibt, etwas zu tun Wie, was ich unten versuche? Zu der Zeit, dieser Code trifft, ich kenne den Typ und es ist in „t“ gespeichert, die ich in diesem Verfahren so bin vorbei:
private void RefreshGrid(Type t, DataGridView ctl)
{
DataController<t> cDataController = new DataController<t>();
//... other stuff
cDataController = null;
}
Offensichtlich hier die Syntax nicht als „t“ ist eine Variable verwendet, wie ein Typ, sagt der Compiler zu Recht.
Vielen Dank im Voraus.
Können Sie 'RefreshGrid' nicht generisch machen? ('private void RefreshGrid (DataGridView c) wo T: TObject') –
Danke für Ihre Eingabe, aber ich kann nicht sehen, wie das helfen würde. Es spielt keine Rolle, ob die RefreshGrid-Methode vom Typ ist, weil ich den DataController innerhalb der Methode immer noch mit dem realen Objekt instanziieren muss (nicht ). –
Ok, kannst du bitte mehr darüber erklären, wie dein Code funktioniert. In Ihrem Beispiel wird wie und wo 'RefreshGrid' aufgerufen. Sie übergeben keine realen Objekte, nur einen Typ. Sie möchten dann eine neue Instanz erstellen? Können Sie den Anrufcode posten? –