Ho un'istanza di Type
, ma desidero il suo nome completo. Come posso fare questo? So che devo usare Mirrors (Dart's reflection library).Come posso ottenere il nome completo da un'istanza di tipo, in Dart?
8
A
risposta
9
Utilizzare la nuova funzione di primo livello reflectClass
da dart:mirrors
.
Ecco un esempio:
import 'dart:html';
import 'dart:mirrors';
class Awesome {
// ...
}
void main() {
var awesome = new Awesome();
Type type = awesome.runtimeType;
ClassMirror mirror = reflectClass(type);
Symbol symbol = mirror.qualifiedName;
String qualifiedName = MirrorSystem.getName(symbol);
query('#name').text = qualifiedName;
}
Il qualifiedName
dovrebbe essere qualcosa di simile:
http://127.0.0.1:3030/Users/sethladd/dart/type_name/web/type_name.dart.Awesome
Nota, questo funziona in costruzione 21753 o superiore. Inoltre, questo non è attualmente funziona ancora in dart2js. Abbiamo in programma di supportarlo in dart2js.
Problemi correlati
- 1. Come ottenere il nome completo del tipo?
- 2. Come posso ottenere il nome di un file in Dart?
- 3. Come posso ottenere il nome e il cognome come nome completo in una query MYSQL?
- 4. Necessario nome tipo completo
- 5. ottenere il nome completo di un assembly
- 6. Come posso ottenere il nome (o il nome completo) dell'utente del telefono?
- 7. Creazione di C# Tipo dal nome completo
- 8. Ottieni il nome completo di una classe?
- 9. Come posso ottenere il nome di dominio completo del mio computer in Python?
- 10. Come ottenere il nome completo del fuso orario ios
- 11. Come posso ottenere il nome completo della classe nel completamento del codice di PHPStorm?
- 12. Come posso ottenere il nome del file da request.FILES?
- 13. Come posso ottenere un nome file da un percorso completo con PHP?
- 14. come ottenere il set di risultati completo da SSMS
- 15. Come eseguire il controllo del tipo di runtime in Dart?
- 16. esistenti di classe/metodo per l'analisi Tipo nome completo
- 17. Come ottenere Nome completo di contatti a Swift
- 18. Come posso ottenere il nome dell'immagine dall'URL?
- 19. Come ottenere il percorso completo di StreamWriter
- 20. Come posso ottenere il nome di un oggetto in java?
- 21. Ottenere il nome completo della proprietà usando ModelMetadata
- 22. Get nome di dominio da URL completo
- 23. Come posso ottenere un tipo da un assieme caricato da un'altra cartella?
- 24. typeof: come ottenere il tipo da stringa
- 25. Come visualizzare il nome completo del tipo di un oggetto in IntelliJ Idea?
- 26. Come posso ottenere il nome del modello o il tipo di contenuto di un oggetto Django?
- 27. Come posso ottenere il nome di Java VM in esecuzione?
- 28. JavaScript: ottenere il nome completo della funzione dall'interno?
- 29. Come posso ottenere il tipo System.Windows.Controls.Primitive.PopupRoot?
- 30. Usa JDT per ottenere il nome completo del metodo
Grande e con i metodi di estensione sarebbe ancora meglio, cioè si potrebbe avere: 'String qualifiedName = reflectClass (type) .qualifiedName.getName()' - [lascia che Gilad lo sappia!] (Https://code.google. com/p/dart/issues/detail? id = 13) :) – mythz
Qual è lo stato dell'utilizzo di un tipo direttamente come 'reflectClass (Awesome)'? –
@KaiSellgren: L'implementazione di reflectClass non interessa se si è ottenuto l'oggetto Type tramite obj.runtimeType o utilizzando il tipo letteral. In altre parole, lo stato di reflectClass (Awesome) dovrebbe essere lo stesso di reflectClass ((new Awesome()). RuntimeType). Se si verifica questo non è il caso, si prega di file un bug all'indirizzo http://dartbug.com. –