Mientras realizaba una refactorización, terminé creando un método como el siguiente ejemplo. El tipo de datos se ha cambiado por simplicidad.
Anteriormente tenía una declaración de asignación como esta:
MyObject myVar = new MyObject();
Fue refactorizado a esto por accidente:
private static new MyObject CreateSomething()
{
return new MyObject{"Something New"};
}
Esto fue el resultado de un error de cortar / pegar de mi parte, pero la new
palabra clave in private static new
es válida y se compila.
Pregunta : ¿Qué significa la new
palabra clave en la firma de un método? ¿Supongo que es algo introducido en C # 3.0?
¿En qué se diferencia esto de override
?
new
como un modificador en un método (u otro miembro de tipo) no es "algo introducido en C # 3.0". Ha estado ahí desde la primera versión de C #.