如何从子类型访问属性

How to access attributes from subtypes

我按照 TSL documentation on attributes 创建了两个 类:

[GraphNode]
cell struct Fruit
{
    string color;
}

[GraphNode, BaseType : Fruit]
cell struct Apple
{
    string variety;
}

我这样使用生成的代码:

Apple apple = new Apple();
Console.WriteLine(apple.variety);
Console.WriteLine(apple.color);

代码可以访问variety字段,但不能访问color字段:

'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?)

如何访问继承的属性?

除了您赋予它们的含义之外,这些属性没有内在含义。 "BaseType" 不会使 Apple 派生自 Fruit。您可以在代码中询问单元格上 "BaseType" 属性的值。