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

C# -> VB: Simple assignment expression inside a constructor expression body converts to using CSharpImpl.__Assign.

Abierto
#1,105 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
50/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
csharp, visualbasic
Área
devtools

Línea de trabajo

Reproduce en CodeConverter el ejemplo de expresión del cuerpo del constructor en C# del issue y sigue la ruta de conversión para las expresiones de asignación. Se considera terminado cuando el constructor VB.NET generado usa asignación directa y no emite el helper CSharpImpl, conservando los tipos Func y la estructura del constructor mostrados.

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

Descripción

C# -> VB enhancement
Input code
internal class NameGenerator
{
    private readonly Func<string, string> _getValidIdentifier;
	
    private NameGenerator(Func<string, string> getValidIdentifier) => _getValidIdentifier = getValidIdentifier;
}
Erroneous output
Friend Class NameGenerator
    Private ReadOnly _getValidIdentifier As Func(Of String, String)

    Private Sub New(getValidIdentifier As Func(Of String, String))
        CSharpImpl.__Assign(_getValidIdentifier, getValidIdentifier)
    End Sub

    Private Class CSharpImpl
        <Obsolete("Please refactor calling code to use normal Visual Basic assignment")>
        Shared Function __Assign(Of T)(ByRef target As T, value As T) As T
            target = value
            Return value
        End Function
    End Class
End Class
Expected output
Friend Class NameGenerator
    Private ReadOnly _getValidIdentifier As Func(Of String, String)

    Private Sub New(getValidIdentifier As Func(Of String, String))
      _getValidIdentifier = getValidIdentifier
    End Sub
End Class
Details
Lenguaje dominante
C#
Estrellas
913
Forks
243
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

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 icsharpcode/CodeConverter

Todos los issues de icsharpcode/CodeConverter

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.