c# gps tuples numericupdown

c# - Cómo entrar dentro de Tuple estática privada, y usar numericUpDown para cambiar Math.Round



gps tuples (1)

Como descubrió, y como sospechaba pero no podía estar seguro ya que no tenía todo el código, el problema fue causado por la palabra clave static en su método. Eliminarlo solucionó el problema.

El modificador static se usa para indicar que el método / propiedad / campo / etc. pertenece a la clase, en lugar de a instancias de la clase. Dentro de un método o propiedad static , no puede usar this para referirse a la instancia ''actual'' de la clase, ya que static métodos static no tienen una instancia actual.

En Windows Forms, los campos creados para los distintos controles en los formularios, como su numericUpDown2 , son siempre campos de ''instancia'', es decir, no static , por lo que pertenecen a cada instancia individual del formulario, en lugar de a la clase Form1 . De esta forma, si tiene dos Form1 diferentes abiertos al mismo tiempo, los controles correspondientes en las dos formas pueden tener valores diferentes. (Puede que solo necesite usar un Form1 en su aplicación, pero es posible que otros formularios en otras aplicaciones necesiten más de una vez). Un método static en la clase Form1 no puede ver ninguno de estos controles porque pertenece a la clase Form1 , donde un método de instancia (es decir, no estático) pertenece a cada forma individual. Entonces, un método static no puede ver los controles porque no puede saber en qué forma posiblemente se encuentran muchos controles.

Como usted es un principiante, el consejo que le daría si no está seguro de si necesita hacer que un método sea static sería no convertir el método en static . Si un método no utiliza ningún campo o método específico de la instancia, puede intentar hacerlo static si lo desea, y ver si al hacerlo se introducen las advertencias del compilador.

esta es mi parte de código para analizar un dato NMEA ( fuente aquí Gráfico de trazado usando valores de richTextBox C # ). Esta función recupera la latitud de richTextBox y la convierte a notación decimal. Lo necesito, para trazar la característica de 4 otro módulo de GPS (para comparar la precisión de los cuatro GPS).

Este es mi problema. Quiero usar un "numericUpDown" para cambiar Math.Round (debajo tengo valor - 11). No puedo entrar a Tuple porque tengo un error (traté de hacer algo, pero no funcionó). ¿Alguien puede saber qué debo hacer?

private static Tuple<double>[] szerokosc(string[] lines) { return Array.ConvertAll(lines, line => { string[] elems = line.Split('',''); double we = 0.01 * double.Parse(elems[3], EnglishCulture); int stopnie = (int)we; double minuty = ((we - stopnie) * 100) / 60; double szerokosc_dziesietna = stopnie + minuty; return new Tuple<double>(Math.Round(szerokosc_dziesietna, 11)); }); ; }

Quiero algo como esto:

return new Tuple<double>(Math.Round(szerokosc_dziesietna, round_value));

donde (por ejemplo):

int round_value = (int)numericUpDown1.Value;

y declaro:

numericUpDown1.Minimum = 1; numericUpDown1.Maximum = 11;

Por favor ayuda :).