An attribute model represents the model of a Ceylon attribute that you can read and inspect.

An attribute is a member value: it is declared on classes or interfaces.

This is both a ValueModel and a Member: you can invoke it with an instance value to bind it to that instance and obtain a Value:

class Outer(){
    shared String foo = "Hello";
}

void test(){
    Attribute<Outer,String> attribute = `Outer.foo`;
    Value<String> boundAttribute = attribute(Outer());
    // This will print: Hello
    print(boundAttribute.get());
}
Inherited Attributes
Attributes inherited from: Object
Attributes inherited from: Member<Container,Kind>
Attributes inherited from: Model
Attributes inherited from: ValueModel<Get,Set>
Methods
bindSource Code
shared formal Value<Get,Set> bind(Object container)

Type-unsafe container binding, to be used when the container type is unknown until runtime.

This has the same behaviour as invoking this Member directly, but exchanges compile-time type safety with runtime checks.

Refined declaration: bind
Inherited Methods
Methods inherited from: Object
Methods inherited from: Member<Container,Kind>