Property with init-only setter results in MissingMethodException
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 42/100
Línea de trabajo
Comienza con el stack trace en CommandLine.Core.InstanceBuilder.Build y reproduce el caso de la propiedad init-only del .NET Fiddle enlazado. Rastrea cómo Parser.ParseArguments crea la instancia de Options y, después, verifica que analizar un tipo Options con un setter init-only se complete sin MissingMethodException.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Describe the bug
In case of read-only properties in the command line options class, where a property is defined as
public string Foo
{
get;
init;
}
you will get a MissingMethodException when parsing the command line.
To Reproduce
See this fiddle https://dotnetfiddle.net/J05g0c
Expected behavior
The exception is not thrown
Additional context
The resulting stack trace is as follows:
Unhandled exception. System.MissingMethodException: Cannot dynamically create an instance of type 'Options'. Reason: No parameterless constructor defined.
at System.RuntimeType.ActivatorCache..ctor(RuntimeType rt)
at System.RuntimeType.CreateInstanceOfT()
at System.Activator.CreateInstance[T]()
at CommandLine.Core.InstanceBuilder.<>c__1`1.<Build>b__1_0(Func`1 f)
at CSharpx.MaybeExtensions.MapValueOrDefault[T1,T2](Maybe`1 maybe, Func`2 func, T2 noneValue)
at CommandLine.Core.InstanceBuilder.Build[T](Maybe`1 factory, Func`3 tokenizer, IEnumerable`1 arguments, StringComparer nameComparer, Boolean ignoreValueCase, CultureInfo parsingCulture, Boolean autoHelp, Boolean autoVersion, Boolean allowMultiInstance, IEnumerable`1 nonFatalErrors)
at CommandLine.Parser.ParseArguments[T](IEnumerable`1 args)
at Program.Main(String[] args)
- Lenguaje dominante
- C#
- Estrellas
- 4.8k
- Forks
- 478
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
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 commandlineparser/commandline
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
commandlineparser/commandline#951 · 1 comentario ·
-
Code example misses iEnumerable Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 70/100
commandlineparser/commandline#880 · 2 reacciones ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 45/100
commandlineparser/commandline#952 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
commandlineparser/commandline#948 ·
-
How to add examples for verbs? Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
commandlineparser/commandline#947 ·
Todos los issues de commandlineparser/commandline
Issues similares
-
bug frontend good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
NavigationViewItemAutomationPeer implements IInvokeProvider but never advertises the Invoke pattern Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
unoplatform/uno#24629 ·
-
agentic-workflows Needs: Triage :mag: State: In-PR
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
CS0162 "Unreachable code detected" warning from a MSBuildTemp .tmp file in every game project Abiertobug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
-
Type: enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
apache/arrow-adbc#4809 ·