首页 > 其他分享 >通过 UE的反射机制来查找类里面的所有UPROPERTY,UFUCTION

通过 UE的反射机制来查找类里面的所有UPROPERTY,UFUCTION

时间:2023-05-12 09:56:17浏览次数:42  
标签:PropertyIns UPROPERTY PropertyIter PropertyValue Content UE UFUCTION

Property 涵盖了 UE 中所有的原生类型

Property 是以链表的形式存储的,UE 中提供了两种遍历方式:

  • TFieldIterator
  • FPropertyValueIterator

示例:

 

UObject*Content;

for (TFieldIterator<FProperty> PropertyIter(Content->GetClass()); PropertyIter; ++PropertyIter)
{
FProperty* PropertyIns = *PropertyIter;
FString ValueString;
AllPropertyNames.Add(MakeShareable(new FString(PropertyIns->GetName())));
const void* PropertyValue = PropertyIns->ContainerPtrToValuePtr<void>(Content);
PropertyIns->ExportTextItem(ValueString, PropertyValue, NULL, NULL, 0);

}

标签:PropertyIns,UPROPERTY,PropertyIter,PropertyValue,Content,UE,UFUCTION
From: https://www.cnblogs.com/kinghua/p/17392928.html

相关文章

  • vue中解析转义字符
    最近在写一个后台,后台需要展示富文本的内容,按理说使用v-htmll标签就可以,但是当我使用后,却发现页面展示的依旧是html标签,这时我仔细看了一下返回的富文本内容,发现里边包含了展示转义字符<pstyle="line-height:150%"><spanstyle=";font-family:宋体;line-height:150%;font-size:......
  • IQueryable 和 IEnumerable
         ......
  • VUE
    Vue的基本常识Vue的使用方式vuejs的使用官方提供了2种方式:基于脚本导入使用,下载vue.js文件,通过script标签引入到html网页。基于项目构建工具来进行使用,需要安装项目构建工具,自动构建成一个独立的项目。目前官方推荐的项目构建工具:vue-CLI,vite。Vue调试工具VueDevtools......
  • vue版本报错
     在引入部分加入@2声明是vue2版本即可   ......
  • vue项目中封装localStorage和sessionStorage
    1.为什么需要封装localStorage和sessionStorage?因为封装localStorage和sessionStorage可以提高程序的维护性、可重用性和扩展性,同时也可以使代码更为简单、易懂。2.以下是一个简单的代码封装示例可以新建一个utils目录文件,在该文件下新建storage.js文件进行封装//封装local......
  • Issues with peer dependencies found
    我想把Vue2项目升级到Vue3,老项目用的是Vue-Cli,打包工具是webpack,新的工具是Vite,在老项目下修改packages.json文件导致依赖包冲突。解决步骤:删除node_modules;重新安装依赖包。重新安装,一切正常:......
  • 【攻防世界逆向】《re-for-50-plz-50》《srm-50》《Mysterious》《Guess-the-Number》
    题目re-for-50-plz-50解法题目不难,先exeinfo32位elf无壳,但是我在做的时候碰到了一些困难,原本用的是低版本的ida,在f5进行反汇编的时候失败了,然后在吾爱下了一个新版本的ida,就反汇编成功了。以下看起来非常简单明了,关键在于有一个字符串和55进行了异或,点进去看看这样一个,好......
  • 21st UESTC Programming Contest - Preliminary except BCGIKMNPR
    21stUESTCProgrammingContest-PreliminaryexceptBCGIKMNPR OK,那么长的except那我到底写了什么呢(悲,太菜啦) A.能量采集dp+组合数的应用用dp[i][j][p]表示在(i,j)这个点以连续个p结尾的路径数1.首先对于每一个A到达这个格子的方案数是{n-i+m-j\choosen-i}......
  • 谷歌工作套件迎来「Duet AI」,可为办公提供哪些便利?
    从去年年底到今年年初,微软OpenAI实验室发布的chatGPT可以说是真的“赢麻”了,之后更是乘胜追击地发布了新必应和Copilot等应用工具。 面对这一切,谷歌可谓是压力山大,而且最开始发布的Bard,还一路被唱衰,但是谷歌并不会就此放弃。图源:来源于网络加州时间5月10日10点,2023GoogleI/O大......
  • 【题解】P4331 [BalticOI 2004]Sequence 数字序列
    以各种方式出现被玩烂的题目,算是小trick题?cpeditor意外地好用思路可并堆。平行时空同位体:CF13CP4331P4597CF713CP2893已知做法:\(O(n^2)\)dp:令\(f[i][j]\)为前\(i\)个数不超过\(j\)的最小代价优化:使用堆维护dp产生的折线(P4597题解区)\(O(n\logn......