[Bug] `ToPropertyUnsafe` (and Possibly Other Unsafe Methods) Always Fails
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 66/100
Línea de trabajo
Empieza en src/ReactiveUI.Binding.Shared/Fallback/RuntimePropertyRaiser.cs, especialmente en las líneas referenciadas 152–157 y en la ruta de excepción de 108–114. Comprueba cómo el runtime resuelve IReactiveObject e IReactiveObjectExtensions entre sus ensamblados y, después, reproduce el problema con el ejemplo de MVVM de Avalonia usando ReactiveUI 26.0.1. Se considera terminado cuando ToPropertyUnsafe se ejecuta sin lanzar una excepción en esa reproducción.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Prerequisites
- I have searched this repository's open and closed issues for duplicates.
- I am using the latest stable release.
What happens
ToPropertyUnsafe always fails, because this code is wrong:
IReactiveObject is defined in the ReactiveUI.Core assembly, while IReactiveObjectExtensions is defined the ReactiveUI assembly, so the code above always fails, and ToPropertyUnsafe ends up throwing this exception:
What you expected instead
No exception thrown.
Minimal reproduction
In a fresh Avalonia MVVM app with ReactiveUI, add the following lines to the MainViewModel:
private readonly ObservableAsPropertyHelper<string> _valueOaph;
public MainViewModel()
{
_valueOaph = Observable.Return("").ToPropertyUnsafe(this, x => x.Value)
}
public string Value => _valueOaph.Value;
Steps to reproduce
- Create an Avalonia MVVM app with Reactive UI:
dotnet new avalonia.mvvm -m ReactiveUI - Add the lines mentioned in Minimal Reproduction
dotnet run
Exception and stack trace
Package and version
ReactiveUI 26.0.1
UI framework
Avalonia
Operating system
Windows
Target framework
net10.0
Device and OS version
No response
IDE
No response
Did this work in an earlier version?
No response
Workaround
No response
Additional information
No response
- Lenguaje dominante
- C#
- Estrellas
- 9
- Forks
- 2
- Merge medio
- 6 h 48 min
- PR fusionados (30 d)
- 71
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de reactiveui/ReactiveUI.Binding.SourceGenerators
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
reactiveui/ReactiveUI.Binding.SourceGenerators#175 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 32/100
reactiveui/ReactiveUI.Binding.SourceGenerators#170 ·
Los mantenedores suelen responder en 1 día
-
Dependency DashboardAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 30/100
reactiveui/ReactiveUI.Binding.SourceGenerators#3 ·
Los mantenedores suelen responder en 1 día
Todos los issues de reactiveui/ReactiveUI.Binding.SourceGenerators
Issues similares
-
bug next version
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Rem0o/FanControl.Releases#4220 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
nkdAgility/azure-devops-migration-tools#3217 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
skoruba/Duende.IdentityServer.Admin#335 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
Los mantenedores suelen responder en 1 día
-
question
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100