Eiffel:如何获取 Void 对象的 class?可能吗?
Eiffel: How to get class of a Void object? is it possible?
我声明了一个空对象,但想获取它的 class 名称,可以吗??
item: detachable DB_ENTITY
db_connection.base_selection.query("SELECT * FROM " + item.generating_type.out)
创建它不是我想要的...
类型对象(即类似于 generating_type
为现有对象返回的对象)可以使用花括号括起类型名称来获得:
{MY_TYPE}
在您的示例中,如果 item
是一项功能(detachable DB_ENTITY
类型以允许值 Void
),则它将是 {attached like item}
,或者 {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"
.
我会用
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”清楚地表明它不希望被附加,而只是作为类型锚点引用存在。与亚历克斯指出的静态参考一起使用,故事现在清晰简洁。 :-)
我声明了一个空对象,但想获取它的 class 名称,可以吗??
item: detachable DB_ENTITY
db_connection.base_selection.query("SELECT * FROM " + item.generating_type.out)
创建它不是我想要的...
类型对象(即类似于 generating_type
为现有对象返回的对象)可以使用花括号括起类型名称来获得:
{MY_TYPE}
在您的示例中,如果 item
是一项功能(detachable DB_ENTITY
类型以允许值 Void
),则它将是 {attached like item}
,或者 {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"
.
我会用
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”清楚地表明它不希望被附加,而只是作为类型锚点引用存在。与亚历克斯指出的静态参考一起使用,故事现在清晰简洁。 :-)