InjectFix icon indicating copy to clipboard operation
InjectFix copied to clipboard

Entities.ForEach 里的ref类修复报错

Open EP-Toushirou opened this issue 5 years ago • 7 comments

image

如图所示,红色框内的是原来的代码 蓝色框的是Patch的代码

Patch运行后会报错 请问下是需要哪里处理吗? image

配置类: image

这是测试代码: 只是加载个Prefab然后旋转,随便拖个Cube进Resources就行 RotateFix.txt

EP-Toushirou avatar May 07 '20 04:05 EP-Toushirou

需要提前把那个delegate声明放到CustomBridge列表

chexiongsheng avatar May 08 '20 02:05 chexiongsheng

需要提前把那个delegate声明放到CustomBridge列表

请问方便出个委托设置的demo吗,这个是泛型也支持的吗? 因为自己随便试了下 又会报NotSupportedException: Cannot invoke method returning ByRef type via reflection

EP-Toushirou avatar May 08 '20 04:05 EP-Toushirou

需要提前把那个delegate声明放到CustomBridge列表

请问方便出个委托设置的demo吗,这个是泛型也支持的吗? 因为自己随便试了下 又会报NotSupportedException: Cannot invoke method returning ByRef type via reflection

这是另外一个问题了吧,你的新报错是你调用了个返回引用类型的方法:https://stackoverflow.com/questions/23349461/how-do-i-work-around-the-error-byref-return-value-not-supported-in-reflection-i

chexiongsheng avatar May 08 '20 06:05 chexiongsheng

需要提前把那个delegate声明放到CustomBridge列表

请问方便出个委托设置的demo吗,这个是泛型也支持的吗? 因为自己随便试了下 又会报NotSupportedException: Cannot invoke method returning ByRef type via reflection

这是另外一个问题了吧,你的新报错是你调用了个返回引用类型的方法:https://stackoverflow.com/questions/23349461/how-do-i-work-around-the-error-byref-return-value-not-supported-in-reflection-i

image 其实我也不太知道,只是看到IFix里面报出来的 就问下。 还有请问泛型这种委托是需要自己把需要用到的类一个个全部写一遍进去吗 这样组合起来不是就非常多

EP-Toushirou avatar May 08 '20 08:05 EP-Toushirou

如果你注入时,代码已经对某个委托赋值了个闭包,会自动帮你加上。一般来说,原代码没用闭包,新代码用了的情况也不多。 如果你想把所有委托都加上,以防万一,那也简单,写个代码,反射找出所有,然后生成那个配置即可。

chexiongsheng avatar May 09 '20 02:05 chexiongsheng

如果你注入时,代码已经对某个委托赋值了个闭包,会自动帮你加上。一般来说,原代码没用闭包,新代码用了的情况也不多。 如果你想把所有委托都加上,以防万一,那也简单,写个代码,反射找出所有,然后生成那个配置即可。

好的 谢谢。

请问下Burst编译后是不可以修复的吧?是要注意需要热更的不能用Burst吗

EP-Toushirou avatar May 09 '20 12:05 EP-Toushirou

+1,请问对ECS和BurstComplier的支持性如何?因为ECS好像会做IL Postprocess,不知道会不会有影响

lic1227 avatar May 26 '21 03:05 lic1227