Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

New Private field method access issue [Workaround]

Abierto
#121 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
30/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
csharp, unity

Línea de trabajo

Comienza con el NewFieldsRewriter y reproduce el caso reportado de acceso a un campo privado en el flujo de trabajo de recarga en caliente de Unity. Compara el acceso directo a _instanceNewField con la alternativa de usar una variable local y, después, verifica que usos como Gizmos.DrawWireSphere(_lastCamState.FinalPosition, BodyRadius) se reescriban de forma coherente sin requerir una limpieza de la sintaxis.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

workaround

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.

Lenguaje dominante
C#
Estrellas
2.2k
Forks
167
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de handzlikchris/FastScriptReload

Todos los issues de handzlikchris/FastScriptReload

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.