una tipos que programacion metodos metodo llamar instanciar ejemplos constructores clases clase c# c#-6.0

tipos - Constructores sin parámetros en estructuras para C#6



que es un metodo en programacion (2)

La característica estuvo presente en las versiones anteriores de C # 6.0, por lo que algunos artículos hablan de ello. Pero luego se eliminó y, por lo tanto, no está presente en la versión distribuida con VS 2015 RC.

Específicamente, el cambio se revirtió en la solicitud de extracción # 1106 , con más información sobre el fundamento del problema # 1029 . Citando a Vladimir Sadov:

A medida que realizamos más y más pruebas, seguimos descubriendo casos en los que los constructores de estructuras sin parámetros causaron un comportamiento inconsistente en las bibliotecas o incluso en algunas versiones de CLR.

[…]

Después de reconsiderar los problemas potenciales que surgen de romper suposiciones de larga data, decidimos que era mejor para nuestros usuarios restaurar el requisito en los constructores de estructuras para tener siempre parámetros formales.

Mi entendimiento es que los constructores sin parámetros en estructuras ahora están permitidos.

Pero lo siguiente me da un error de compilación en la comunidad VS 2015

public struct Person { public string Name { get; } public int Age { get; } public Person(string name, int age) { Name = name; Age = age; } public Person() : this("Jane Doe", 37) { } }

Error: "Las estructuras no pueden contener constructores explícitos sin parámetros"

Alguien sabe por qué?


No estoy seguro de por qué, sin embargo, esto está permitido:

public struct Person { public string Name { get; } public int Age { get; } public Person(string name = null, int age = 0) { Name = name; Age = age; } }

¿Eso resuelve tu problema?