Wie kann ich die Klasse eines Objekts in Dart bestimmen?

8

Wie kann ich den Typ (Klassennamen) eines Objekts in der Dart-Sprache bestimmen?

Ich möchte etwas wie folgt machen:

%Vor%

Und was ist der zurückgegebene Werttyp? Muss es eine Schnur sein?

Die Spiegelbibliothek ist auf und ab und scheint sich im Moment schnell zu ändern, da das eine, was ich gefunden habe, einfach nicht wie gezeigt funktionierte.

    
george koller 14.10.2012, 06:34
quelle

2 Antworten

13
  • Verwenden Sie die Operatoren is und is! wie folgt:

    %Vor%

    Aus der Dokumentation :

      

    Die Operatoren is und is! sind praktisch zum Überprüfen von Typen. Das Ergebnis von    obj is T ist wahr, wenn obj die von T angegebene Schnittstelle implementiert. Zum   Beispiel: obj is Object ist immer wahr.

  • Verwenden Sie die Spiegel-API (siehe dieses Beispiel ):

    %Vor%
Eliran Malka 14.10.2012, 06:47
quelle
22

Kürzlich Object hat runtimeType getter bekommen. So können wir nun nicht nur den Objekttyp mit einem anderen Typ vergleichen, sondern auch den Klassennamen eines Objekts erhalten. Wie in:

%Vor%

Darüber hinaus können Sie in der aktuellen Version von Dart toString operation überspringen und runtimeType des Objekts direkt mit dem Zieltyp vergleichen, wie in

%Vor%

oder

%Vor%     
Vadim Tsushko 14.10.2012 10:42
quelle

Tags und Links