.net - relacionales - tag c#
¿Qué es el operador ":=" en(VB).NET o para qué sirve? (3)
Veo esto de vez en cuando y quiero saber de qué se trata. Probé con Google, pero está filtrando los caracteres de la búsqueda. Tengo algunos libros que tampoco lo hacen referencia.
FWIW, recuerdo en pascal que era el operador de asignación.
¿Alguien puede señalarme a la página de MSDN o similar?
Es realmente útil cuando hay múltiples parámetros opcionales: se ve mucho en el código que llama a los modelos de objetos de oficina: Word, Excel, etc. Cuando tiene 40 parámetros, 37 de ellos son opcionales y desea establecer valores para los parámetros. y 40, es mucho más claro utilizar: = que tener una llamada a la función que se parece a ("nuevo", "configuración", 1, ,,,,,,,,,,,,,,,,,,, ,,,,,,,,, 43,, 2 ,,,,, 7)
Quería hacerle un comentario a JeffK, pero no tengo suficiente representante.
VB utiliza ese operador para asignaciones de valores de atributos:
http://www.ondotnet.com/pub/a/dotnet/excerpt/vbnut_8/index1.html
Puede usar la sintaxis: = para asignar los parámetros a un Sub o Función por nombre, en lugar de estrictamente por posición. Por ejemplo:
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TestRoutine(Y:="TestString", X:=12)
End Sub
Private Sub TestRoutine(ByVal X As Long, Optional Y As String = "")
'' Do something with X and Y here... ''
End Sub
End Class
Tenga en cuenta que TestRoutine especifica X como el primer parámetro, e Y como el segundo, pero la llamada en Form1_Load los tiene en el orden opuesto, nombrando cada parámetro con el operador: =.
Aquí hay un enlace a un artículo de MSDN sobre el tema:
http://msdn.microsoft.com/en-us/library/51wfzyw0.aspx
No veo que esto se use con mucha frecuencia, excepto en las macros de VBA generadas por el grabador de macros de Excel, que lo usa mucho .