Foros del Web » Programación para mayores de 30 ;) » .NET »

los campos readonly en los constructores herederos no SIRVEN

Estas en el tema de los campos readonly en los constructores herederos no SIRVEN en el foro de .NET en Foros del Web. Hola Amigos del corrijanme si me equivoco, pero en la ayuda del msdn dice explicitamente que el modificador readonly de C# permite la inicializacion de ...
  #1 (permalink)  
Antiguo 22/07/2007, 12:46
 
Fecha de Ingreso: agosto-2005
Mensajes: 42
Antigüedad: 18 años, 8 meses
Puntos: 0
los campos readonly en los constructores herederos no SIRVEN

Hola Amigos del corrijanme si me equivoco, pero en la ayuda del msdn dice explicitamente que el modificador readonly de C# permite la inicializacion de un campo en:
- su declaracion;
- en un Constructor

Sucede que tengo una clase base donde tengo mi campo readonly, ahora cuando quiero inicializar este campo en una clase hija (en el constructor) no se me permite.
y me manda un error de que "solo se puede inicializar en un constructor o en un inicializador de variables".

Creo que era mucho pedirle al lenguaje C#( jajaja), pero de todas formas quise intentarlo.

Mi pregunta es la siguiente: Qué es un Inicializador de Variables? es eso de Initialize de la interfaz IComponet?. Comó puedo solucionar mi problema???

Gracias de antemano por cualquier respuesta que me puedan brindar.

Harold
  #2 (permalink)  
Antiguo 22/07/2007, 14:41
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Re: los campos readonly en los constructores herederos no SIRVEN

Para asignar uno de esos campos, tu código debería asemejarse a lo siguiente:
Código:
class Foo
{
    private readonly int field;
    public Foo(int field)
    {
        this.field = field;
    }
}
class Bar : Foo
{
    public Bar() : base(algúnValor)
    {
    }
}
En cuanto a lo que preguntas, imagino que se refiere a la parte de la declaración de la variable.

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #3 (permalink)  
Antiguo 22/07/2007, 16:04
 
Fecha de Ingreso: agosto-2005
Mensajes: 42
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: los campos readonly en los constructores herederos no SIRVEN

Sip, bueno yo no quería usar el método que me describes por que tenia varios parametros en el constructor y que me resultaba engorroso. Al final tuve que hacerlo de esa forma.

Gracias
  #4 (permalink)  
Antiguo 22/07/2007, 16:55
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Re: los campos readonly en los constructores herederos no SIRVEN

No tengo idea de lo que quieres representar, pero también puedes utilizar algo como esto:
Código:
class Foo
    {
        private int field;

        public int Field
        {
            get { return field; }
            protected set { field = value; }
        }
    }
    class Bar:Foo
    {
        public Bar()
        {
            Field = 5;
        }
    }
Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:28.