Uso del Object Sender en C#

Saad Aslam 12 octubre 2023
  1. Resumen del Object Sender en C#
  2. Uso del Object Sender en C#
Uso del Object Sender en C#

Este artículo discutirá qué es un remitente de objetos y cómo se puede usar en C#.

Resumen del Object Sender en C#

Al desarrollar una aplicación C# y manejar eventos, uno de los argumentos es el remitente del objeto C#. Y es un parámetro para establecer una referencia al objeto generado para los eventos que se utilizan para indicar al controlador que asigne el objeto correcto.

Con la ayuda de la clase EventArgs, podemos proporcionar los argumentos de los métodos; sin embargo, en el caso de los parámetros o eventos estáticos, el valor será nulo. Para utilizar estas clases donde el usuario lo requiera en la aplicación, se utiliza la clase EventArgs y su función Object() { [native code] } para crear los objetos.

Estas clases se extraen de los marcos predeterminados.

Uso del Object Sender en C#

Cuando deseamos usar los métodos, palabras clave y variables de una clase específica para generar objetos para esa clase, se puede hacer ya que un objeto es la raíz y la clase principal de la aplicación en C#.

using System;
using System.Web;

Access modifiers class name {
  Access modifiers return type function_name(object referencename(sender),
                                             EventArgs referencename) {
    // some C# code logic depends upon the user requirement
  }
}

Los códigos mencionados anteriormente brindan la sintaxis fundamental para usar y obtener acceso a objetos de clase de una ubicación a otra. El controlador y EventArgs manejarán los objetos producidos.

El remitente es uno de los argumentos del objeto genérico en el lenguaje C# y también se usa para construir la instancia del objeto. Los eventos de aplicación apropiados activan esto.

El mecanismo para manejar eventos y construir objetos, conocido como controlador de eventos, se utiliza para manejar ese evento. Ya sea que utilicemos eventos estáticos, los valores de los parámetros siempre son nulos; sin embargo, los valores varían cuando usamos palabras clave estáticas o dinámicas.

Un método que está conectado a un evento se denomina controlador de eventos. El código incluido en el controlador de eventos se ejecuta cuando se genera el evento.

Cada controlador de eventos proporciona dos parámetros para que pueda manejar correctamente el evento. Los controladores de eventos son una de las formas principales de ejecutar objetos que dependen de las solicitudes de los clientes; luego, la respuesta se dispara en respuesta a los eventos particulares que tendrán lugar dentro de la aplicación.

El remitente es uno de los controles principales que se pueden usar para iniciar los eventos, ya que hace que el evento se active y se realice debido a la referencia del remitente del objeto.

Uno de los eventos de la interfaz de usuario es el botón, que se utiliza principalmente para las actividades del usuario y las tareas de back-end. Los datos del cliente se evaluarán tanto desde el frente como desde el fondo cada vez que hagamos clic en el botón del remitente, active el evento y haga que las actividades se lleven a cabo según los requisitos del usuario.

En palabras más simples, puede decir que el elemento que generó el evento se conoce como el remitente. Los detalles adicionales sobre el evento se encuentran en EventArgs.

using System;

public class exmp {
  public event EventHandler evnts {
    add {
      Console.WriteLine("Welcome Example Started");
    }
    remove {
      Console.WriteLine("provide inputs");
    }
  }
}

public class examp {
  public void demo() {
    exmp emp = new exmp();
    emp.evnts += third;
    emp.evnts -= third;
  }
  public void third(object snd, EventArgs er) {}
  public static void Main(string[] args) {
    examp examp = new examp();
    examp.demo();
    Console.ReadKey();
    Console.WriteLine("Your events are started and executed successfully");
  }
}

El primer parámetro, snd, proporciona una referencia al objeto que generó el evento. En el ejemplo anterior, el segundo parámetro, indicado por las letras er, transmite un objeto único para el evento manejado.

Para agregar y eliminar los datos de la memoria, usamos las palabras clave predeterminadas de la clase de controladores de eventos, agregar eliminar. Cada instancia de clase y sus métodos calculan estos valores y los usan; si el método acepta parámetros, su instancia se usará para llamar y pasar los parámetros.

El mismo controlador de eventos también puede manejar el mismo evento para otros controles. Por ejemplo, si un formulario contiene una colección de controles RadioButton, puede crear un solo controlador de eventos para el evento Click y vincular el evento Click de cada control al controlador de eventos único.

También hay muchas otras formas de usar el remitente del objeto y los argumentos del evento para manejar los eventos, como cuando se forma un objeto y se asigna memoria, los métodos predefinidos OnChanged(), Add() y Clear() se utilizan para limpiar las colecciones de basura. Si deseamos eliminar una referencia no deseada, podemos utilizar los métodos predeterminados clear() y remove().

Podemos usar los métodos predeterminados para construir y transmitir la referencia del objeto mientras usamos el mismo mecanismo de remitente de objetos y controlador de eventos. Podemos generar los dos eventos distintos, llamarlos a través de sus instancias y producir cada instancia que se muestra en la consola de salida.

Existen algunas reglas y regulaciones para que el remitente del objeto se use correctamente. Y las mejores prácticas también se mencionan a continuación.

  • Solo se ejecutará el objeto remitente con sus acciones de usuario si contiene el EventArgs con instancias. Por lo tanto, el remitente del objeto debe contener el evento args como parámetro.
  • En los grandes sistemas corporativos se tarda más en crear y asignar objetos, y también se tarda más en transferir sus referencias.
  • Evita el punto muerto en los hilos del proceso mediante el empleo de sincronización. Así que trate de sincronizar para evitar los puntos muertos.
  • Cree un objeto delegado cuya firma corresponda precisamente a la firma del método que intenta encapsular.
  • Defina todos los procedimientos cuyas firmas correspondan a las del objeto delegado que creó en el paso cuatro.
  • Los métodos que desea encapsular deben conectarse a un objeto delegado que cree.
  • Utilice el objeto delegado para llamar a los métodos contenidos.

C# tiene su sintaxis y convenciones para usar el código de manera más compleja y evitar duplicaciones y repeticiones de código, ya que tiene muchas palabras clave, métodos y atributos predefinidos para cada conjunto de componentes. El remitente es uno de los argumentos pasados a los métodos para su referencia de clase y usos, al igual que ese objeto.

Autor: Saad Aslam
Saad Aslam avatar Saad Aslam avatar

I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.

LinkedIn