visual unload terminar programa para net formulario end ejecucion codigo close cerrar boton asp.net vb.net

asp.net - unload - Usar la palabra clave Me(VB.NET) ¿es obligatorio o no?



terminar ejecucion vb net (7)

Actualmente estoy trabajando en una aplicación web (ASP.NET) y algunas de las páginas que se incluyen fueron creadas por otros programadores, lo que noté es que no están usando la palabra clave "Me (VB.NET)" para acceder a los controles, mientras que de mi lado lo usé en cada página que he creado. Solo para brindar más información, la aplicación web se ejecuta en .NET Framework 2.0. ¿Hay alguien por ahí que me ayude a entender si se requiere usarme o no? ¿Cuáles son las ventajas y desventajas de todo el código si me está utilizando? ¿Puede mejorar el rendimiento de la aplicación?

Cualquier ayuda es muy apreciada. Gracias por adelantado.


El uso de la palabra clave Me no afecta el rendimiento. Es puramente una cuestión de estilo. Creo que mejora la claridad de tu código si lo usas. Entonces, a primera vista, sabe que el miembro utilizado pertenece al objeto en sí y no es una variable local, por ejemplo.

La palabra clave Me se usa cada vez que queremos que nuestro código haga referencia a miembros (métodos, propiedades, ...) dentro del objeto actual. La palabra clave Me es análoga a la palabra clave this en C ++ y C # languages. La palabra clave Me suele ser opcional , ya que se supone que cualquier llamada al método hace referencia al objeto actual a menos que se indique explícitamente lo contrario.

La excepción es cuando estás usando variables sombreadas . Una variable sombreada es una variable a nivel de procedimiento con el mismo nombre que una variable de la clase. Por ejemplo:

Public Class ExampleClass Private FirstName As String Public Sub ExampleMethod() Dim FirstName As String FirstName = "Stefan" End Sub End Class

La variable FirstName se declara en el nivel de clase y dentro del método ExampleMethod. Dentro de ExampleMethod solo se usa la variable local, o sombreada, a menos que hagamos referencia explícita de la variable de nivel de clase con la palabra clave Me:

Public Class ExampleClass Private FirstName As String Public Sub ExampleMethod() Dim FirstName As String FirstName = "Stefan" Me.FirstName = "Carl Gustav" End Sub End Class


En algunos casos se requiere, tomemos, por ejemplo, una variable en el alcance de una clase, y un parámetro que se pase a una sub-rutina que tenga un nombre equivalente como ese:

Private theString As String Private Sub Setup(ByVal theString As String) Me.theString = theString End Sub

Coloca las cosas en el contexto correcto para permitir que las asignaciones se lleven a cabo correctamente.

En su caso, algunos desarrolladores tienden a hacerlo para que sepan de dónde viene la variable, algo que también harán mis compañeros de trabajo. También se suele hacer porque intellisense mostrará su lista de variables locales si escriben "Yo", algo que no suelo hacer, aunque probablemente debería hacer más.


La palabra clave Me es opcional de la misma manera que tiene la opción de calificar completamente un espacio de nombre aunque lo haya importado en la parte superior de la clase.

Sin embargo, si tiene un control en el formulario con el mismo nombre que otro objeto en otro espacio de nombre importado, puede ser esencial.


Por lo que entiendo, es pura preferencia, pero puede desambiguar entre propiedades y variables / parámetros de ámbito local. Algunas personas lo incluyen religiosamente por costumbre. De esta forma, si tuvieran que introducir una variable local del mismo nombre, nada se rompería.

Digamos que tiene un método definido DoSomething(MyString As String) y la clase también tiene una String llamada MyString . La única forma de hacer referencia a la versión de clase de MyString es usar Me.MyString . Por lo tanto, dices Me.MyString = MyString y el compilador sabe lo que quieres.


Creo que para UI controla su gran preferencia del usuario.

Pero prefiero utilizar "Me" especialmente si está utilizando propiedades de clase, por si acaso hay algún código que deba ejecutarse antes de acceder a esa variable.

Ejemplo

Class Sample Private myString as String Public Property GetMyString As String Get '' Some code here which sets the string after reading value from the database End Get Set End Set End Property End Class

En este caso, hay una diferencia entre usarlo con o sin la palabra clave "Me".


Yo es un objeto de la clase actual


Bueno, a pesar de que tiene cosas, hay eventos que esta palabra clave ME proporciona problemas

Por ejemplo, si tiene un formulario e lo invoca desde otra forma, como

Dim myform as new frmXXX myform.PrimaryKey=123 muform.show

a menos que se complete el método Show, los objetos en el método de clave primaria no tienen referencia a la palabra clave ME y proporcionan un error.

En el método PrimaryKey, escriba writeonly primarykey set ....

me.txtPrimaryKey.text="value"

proporcionará un error a menos que el formulario no se muestre.