[ Foro de C# ]
Hola a todos.
Soy nuevo en la programación en C#, y tengo una duda sobre como implementar esto:
La idea es:
implementar un método dentro de una clase, que devuelva el número de llamadas que ha tenido.
En VB NET creo una aplicación de consola, con el siguiente código principal:
Module Module1
Sub Main()
Dim Contador As Integer
Contador = 0
For Contador = 1 To 10
Console.WriteLine("La funcion ha sido llamada {0} veces.", ContadorLlamadas())
Next Contador
Console.ReadKey()
End Sub
End Module
y agrego un módulo con el código siguiente:
Module ModGlobal
Public Function ContadorLlamadas() As Integer
Static Llamadas As Integer
Llamadas = Llamadas + 1
Return Llamadas
End Function
End Module
el resultado es:
La funcion ha sido llamada 1 veces.
La funcion ha sido llamada 2 veces.
La funcion ha sido llamada 3 veces.
La funcion ha sido llamada 4 veces.
La funcion ha sido llamada 5 veces.
La funcion ha sido llamada 6 veces.
La funcion ha sido llamada 7 veces.
La funcion ha sido llamada 8 veces.
La funcion ha sido llamada 9 veces.
La funcion ha sido llamada 10 veces.
Se me ha ocurrido implementar la variable contador de llamadas como miembro static de la clase que contiene a ContadorLlamadas() y que ContadorLlamadas la incremente y devuelva cada vez que es llamada, pero me gustaría saber si conoceis un sistema para implementarlo con la misma arquitectura que en VB NET, es decir, con la variable Llamadas interna a un método de la clase.
Gracias.
Tu fuente no está en C#, sino en VB.Net, y no tiene clases.
En C# bastaría con que crearas realmente una clase, y que esa clase tuviera un atributo static (declarado dentro de la clase pero fuera de la función). Desde la función incrementas la variable y devuelves su valor.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)