我有一个声明的空对象,但是想要得到它的类名吗?
item: detachable DB_ENTITY
db_connection.base_selection.query("SELECT * FROM " + item.generating_type.out)
创建它不是我想要的...
答案 0 :(得分:1)
可以使用大括号将类型名称括起来来获得类型对象(即,由generating_type
返回的对象,例如现有对象):
{MY_TYPE}
在您的示例中,如果{attached like item}
是一项功能(类型为item
以允许值detachable DB_ENTITY
)为Void
,或者为{DB_ENTITY}
item
是一个局部变量,因此整个表达式将以下列方式之一读取:
db_connection.base_selection.query("SELECT * FROM " + ({attached like item}).out)
db_connection.base_selection.query("SELECT * FROM " + ({DB_ENTITY}).out)
在第二种情况下,相应的字符串将等效于"SELECT * FROM DB_ENTITY"
。
答案 1 :(得分:0)
我会用
item_type_anchor: detachable DB_ENTITY
-- `item_type_anchor' for Current.
然后
db_connection.base_selection.query ("SELECT * FROM " + ({like item_type_anchor}).generating_type.out)
这意味着功能“ item_type_anchor”清楚地表明它不希望附加,而是仅作为类型锚引用存在。与Alex所指出的静态参考一起使用,现在的故事清晰而简洁。 :-)