Cita de: enelmenu date=1507756313Alguna diferencia?
Si, del primer par --> segundo new ... y del segundo par --> segundo new ... gane?
Cita de: enelmenu date=1507756313Que quiere decir utilizar "new" en la declaracion de una variable?
La verdad es que nunca lo había usado asi al new, asi que investigué un poquito:
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/new (https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/new)
Por como lo pusiste ahí es un modificador new, al parecer lo que hace es ocultar un miembro heredado de tu clase base,
reemplazando la version de esta. Basicamente un usurpador en toda su gloria.
El ejemplito lindo de la pagina (C#);
public class BaseC
{
public static int x = 55;
public static int y = 22;
}
public class DerivedC : BaseC
{
// Hide field 'x'.
new public static int x = 100;
static void Main()
{
// Display the new value of x:
Console.WriteLine(x);
// Display the hidden value of x:
Console.WriteLine(BaseC.x);
// Display the unhidden member y:
Console.WriteLine(y);
}
}
//100
//55
//22
x en la clase derivada no interfiere con la x de la clase base, directamente la reemplaza.
Lo del "static new" supongo que será parecido, para ocultar tipos static, no se, estoy adivinando.
Cita de: lightbug date=1507761852Si, del primer par --> segundo new ... y del segundo par --> segundo new ... gane?
Cita de: lightbug date=1507761852que hace es ocultar un miembro heredado de tu clase base
Ahh claro no me habia enterado, lo habia leido en herencias, es como dar prioridad.
Joya pense que cuando no se usaba en un miembro no heredado actuaba diferente, pero no jajajaj gracias juan! abrazo
Cita de: enelmenu date=1507762534Joya pense que cuando no se usaba en un miembro no heredado actuaba diferente, pero no jajajaj gracias juan! abrazo
Ojo que hace 10 minutos que conocí su uso como modificador jaja, quizas alguien que lo haya usado realmente te pueda explicar mejor.