Search code examples
dartmetadatadart-mirrors

How to get the value from metadata, in Dart?


Dart code:

@Table("users")
class User {}

And the metadata declaration:

class Table {
    final String name;
    const Table(this.name);
}

I can get the metadata @Table by following code:

var classMirror = reflectClass(User);
var metadata = classMirror.metadata;
print(metadata);

Which prints:

[InstanceMirror on Instance of 'Table']

But I don't know how to get the users from it :(


Solution

  • You can use InstanceMirror.getField :

    metadata.getField(#name);