Java中多线程并发体系知识点汇总
2026/6/24 7:49:00
原文
structTypeTest2_t{intname;floatweight;boolbLive;DECLARE_BEHAVIAC_STRUCT(TypeTest2_t);};上面的用法定义出来的TypeTest2_t在导出的元信息中为值类型(也即在导出的元信息中其值IsRefType为false),值类型可以在编辑器中设置其成员属性。与值类型对应的是引用类型,引用类型不会导出其成员属性,在编辑器中也不用配置其成员属性。
另外,宏DECLARE_BEHAVIAC_STRUCT也可以带2个参数,第一个参数为类型,第二个参数为true表示该类型用作为引用类型(也即导出元信息后其值IsRefType为true),否则不用第二个参数表示为值类型,如下代码所示:
DECLARE_BEHAVIAC_STRUCT(TypeTest2_t,true);BEGIN_PROPERTIES_DESCRIPTION(TypeTest2_t){CLASS_DISPLAYNAME(L"测试结构体")CLASS_DESC(L"自定义结构体")REGISTER_PROPERTY(name);REGISTER_PROPERTY(weight).DISPLAYNAME(L”重量”);REGISTER_PROPERTY(bLive).DISPLAYNAME(L”是否活着”).DESC(L”存活状态”);}END_PROPERTIES_DESCRIPTION()behaviac::TypeRegister::Register<TypeTest2_t>(" TypeTest2_t ");behaviac::TypeRegister::UnRegister<TypeTest2_t>(" TypeTest2_t ");更多细节可以参考behaviac组件C++源码库中btunittest工程的reflectionunittest.cpp文件中TypeTest2_t结构体相关的代码。