New Private field method access issue [Workaround]
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 30/100
调研方向
从 NewFieldsRewriter 开始,在 Unity 热重载工作流中重现报告的私有字段访问案例。将直接访问 _instanceNewField 与使用局部变量的变通方案进行比较,然后验证诸如 Gizmos.DrawWireSphere(_lastCamState.FinalPosition, BodyRadius) 这样的用法是否能够一致地被重写,而无需进行语法清理。
由索引模型根据 Issue 内容生成。
描述
Current Workaround
So it seems this is the workaround for now. Any direct access the new field breaks the rewritter.
_instanceNewField.DoesWhatYouWant(); //<- fails to rewrite
var myLocalNewField = _instanceNewField; // <- this gets correctly rewritten
myLocalNewField.DoesWhatYouWant(); //<- All good
Then on your next recompilation round you can clean up the syntax.
Issue
I'm not sure if it's a regression and what would be its reason, but most of the time nowadays adding private fields fails as they are not rewritten correctly in every places. Example bellow.
Added
private CameraState _lastCamState;
One of the correctly rewritten part I believe
FastScriptReload.Scripts.Runtime.TemporaryNewFieldValues.ResolvePatchedObject<Indus.Client.Cameras.CinemachineBodyCollider__Patched_>(this)._lastCamState = state;
Some other places not rewritten
Gizmos.DrawWireSphere(_lastCamState.FinalPosition, BodyRadius);
It is the NewFieldsRewriter job to perform the rewrite now not sure why it skip some cases.
- 主要语言
- C#
- 星标
- 2.3k
- 派生
- 171
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
handzlikchris/FastScriptReload 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 68/100
-
难度 1/5 1 小时以内 新手友好度 88/100
handzlikchris/FastScriptReload#202 · 2 个 reaction ·
-
csc.rsp support未关闭
难度 4/5 3-5 天 新手友好度 45/100
-
Failed to find entry-points可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 4/5 3-5 天 新手友好度 38/100
handzlikchris/FastScriptReload#203 · 4 条评论 ·
-
难度 4/5 3-5 天 新手友好度 42/100
handzlikchris/FastScriptReload#197 · 1 条评论 ·
查看 handzlikchris/FastScriptReload 的全部 Issue
相似的 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 78/100
ClickHouse/clickhouse-cs#689 ·
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 88/100
维护者通常 7 天内回复
-
难度 1/5 1 小时以内 新手友好度 65/100
vchelaru/FlatRedBall2#1481 ·
维护者通常 1 天内回复
-
ai-chat bug trivial
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
area-signalr
难度 2/5 1-3 小时 新手友好度 75/100
dotnet/aspnetcore#69842 · 1 条评论 ·
维护者通常 1 天内回复