De acuerdo, soy nuevo en c #, estoy familiarizado con WPF + VB.NET. Entonces tengo una clase llamada 'Voiture' si trato de crear una instancia de un objeto de tipo 'Voiture' en MainWindow.cs, puedo hacerlo, pero cada vez que intento llamar a ese objeto para usar uno de sus métodos, el IDE, simplemente tiene ninguna referencia de él, incluso si me permite instanciarlo. ¿Me estoy perdiendo algo aquí?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WpfApplication13
{
    class Test
    {
        Voiture b = new Voiture();
        b.speed();

    }
}

Si intento b.speed () por ejemplo (la velocidad es un método de la clase Voiture) aparece el error: No se puede resolver el símbolo

-3
user3621917 13 feb. 2015 a las 22:28

2 respuestas

La mejor respuesta

Este código es estructuralmente inválido:

class Test
{
    Voiture b = new Voiture();
    b.speed();
}

No puede invocar código de manera imperativa fuera del contexto de un método o función. La primera línea, que declara la variable b, está bien porque está creando declarativamente un valor a nivel de clase. Pero una clase no puede ejecutar declaraciones de código. Solo un método o función puede hacerlo. Algo como esto:

class Test
{
    Voiture b = new Voiture();

    public void SomeMethod()
    {
        b.speed();
    }
}
1
David 13 feb. 2015 a las 19:51
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WpfApplication13
{
    class Test
    {
        Voiture b = new Voiture();
        b.speed(); // this is wrong

    }
}

Estos son los usos.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WpfApplication13
{
    class Test
    {
        Voiture b = new Voiture();            

        public Test() // constructor
        { 
            b.speed();
         }

        public void function() // function
        { 
            b.speed();
        }
    }
}
0
chfumero 13 feb. 2015 a las 19:52