Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] 09 - Desafio: criando o Método toMap()

Método toMap() que converta as propriedades da classe Pessoa em um Map.

import 'dart:mirrors';

void main() {
  Person personMike = Person("Mike", 20, true);
  Map<String, dynamic> mapMike = personMike.toMap();
  print(mapMike);
}

class Person {
  String name;
  int age;
  bool online;
  Person(this.name, this.age, this.online);

  Map<String, dynamic> toMap() {
    InstanceMirror instanceMirror = reflect(this);
    Map<String, dynamic> resultMap = {};
    for (var mirrorValues in instanceMirror.type.declarations.values) {
      if (mirrorValues is! VariableMirror) continue;
      var attributeName = MirrorSystem.getName(mirrorValues.simpleName);
      resultMap[attributeName] =
          instanceMirror.getField(mirrorValues.simpleName).reflectee;
    }
    return resultMap;
  }
}
1 resposta
solução!

Oi Leomark, tudo bem?

O código que você forneceu demonstra a implementação de um método toMap() que converte as propriedades de uma classe Person em um mapa. A abordagem utilizando reflexão parece estar correta para alcançar esse objetivo.

Muito obrigada por compartilhar com a gente o seu resultado e parabéns por praticar.

Um abraço e bons estudos.