I followed the TSL documentation on attributes and created two classes:
[GraphNode]
cell struct Fruit
{
string color;
}
[GraphNode, BaseType : Fruit]
cell struct Apple
{
string variety;
}
I used the generated code like this:
Apple apple = new Apple();
Console.WriteLine(apple.variety);
Console.WriteLine(apple.color);
The code can access the variety
field, but cannot access the color
field:
'Apple' does not contain a definition for 'color' and no extension method 'color' accepting a first argument of type 'Apple' could be found (are you missing a using directive or an assembly reference?)
How can I access the inherited attribute?
Those attributes do not have an intrinsic meaning apart from the meaning you attach to them. "BaseType" does not make Apple derive from Fruit. You can just ask in your code for the value of the attribute "BaseType" on your cell.