首页  >  文章  >  后端开发  >  C# 对象发送者

C# 对象发送者

WBOY
WBOY原创
2024-09-03 15:06:14345浏览

C# 对象发送者是参数之一,它是用于创建对象引用的参数,该对象引用是为用于响应处理程序以映射正确对象的事件引发的,但在静态参数的情况下或事件,在 EventArgs 类的帮助下,该值将为 null,我们可以将参数传递给方法,因此 EventArgs 类及其构造函数用于创建这些类来自默认框架的对象,以便它可以在任何地方使用用户对应用程序的需求。

语法:         

在C#中,对象是应用程序的根类和父类;当我们想要利用特定类的方法、关键字和变量来为特定类创建对象时,就可以实现。

using System;
using System. Web;
Access modifiers class class name {
Access modifiers return type function_name(object reference name(sender), EventArgs reference name)
{
--some C# code logics depends upon the user requirement-----
}
}

以上代码是从一个地方到另一个地方利用和访问类对象的基本语法。它看起来像 EventArgs 和处理创建的对象的处理程序。

对象发送器在 C# 中如何工作?

在通用对象中,sender 是 C# 语言中的参数之一,并且它用于创建对象的实例,该实例由应用程序上的特定事件引发。该事件是使用主要处理并负责创建对象的事件处理程序机制来处理的。但是当我们使用静态、动态等关键字时,如果使用静态事件,参数值会有所不同,参数值始终为空。事件处理程序是最常用于根据客户端请求执行对象的方法之一;然后,响应将针对应用程序上将发生的特定事件引发。

由于对象发送者引用,事件将被触发并执行,因此发送者是可用于激活事件的主要控件之一。 UI中的按钮是事件之一,主要用于在后端执行用户操作和动作。一旦我们点击发送按钮,就会触发事件,并根据用户需求进行操作;客户端的数据将从前端和后端进行验证。

示例

以下是 C# 对象发送者的不同示例:

示例#1

using System;
public delegate void demo(object snd, eventargs er);
public delegate void demo1(object snd, eventargs er);
public delegate void demo2(object snd, eventargs er);
class examp
{
public const string first = "Welcome To My Domain";
public void meth1(object snd, eventargs er)
{
Console.WriteLine("Thank you user your first example program is started ", er.first);
}
public void meth2(object snd, eventargs er)
{
Console.WriteLine("Your code is currently debugged and in-progress", er.first);
}
public void meth3(object snd, eventargs er)
{
Console.WriteLine("Your code is successfully completed", er.first);
}
public examp(examp1 exm)
{
demo d1 = new demo(meth1);
demo1 d2 = new demo1(meth2);
demo2 d3 = new demo2(meth3);
exm.vars1 += d1;
exm.vars2 += d2;
exm.vars3 += d3;
}
}
class examp1
{
public event demo vars1;
public event demo1 vars2;
public event demo2 vars3;
public void third(eventargs er)
{
if (vars1 != null)
{
vars1(this, er);
}
}
public void four(eventargs er)
{
if (vars2 != null)
{
vars2(this, er);
}
}
public void five(eventargs er)
{
if (vars3 != null)
{
vars3(this, er);
}
}
}
public class eventargs : EventArgs
{
public string first;
}
public class second
{
private void seven(object snd, EventArgs er)
{
Console.WriteLine("Welcome To My Domain, please add your details");
}
public static void Main()
{
examp1 exm = new examp1();
examp exam = new examp(exm);
second s= new second();
eventargs e1 = new eventargs();
eventargs e2 = new eventargs();
e1.first = "Your first event is started and triggered";
e2.first = "Your second event is started and triggered";
s.seven("Welcome To My Domain, Thank you users ",e1);
exm.third(e1);
exm.four(e2);
}
}

输出:

C# 对象发送者

在第一个示例中,我们使用相同的对象发送器和事件处理程序机制来创建和发送对象引用,并使用默认方法。我们可以创建两个不同的事件,并通过使用它们的实例,我们可以调用这些事件并创建在输出控制台上打印的单独实例。

示例#2

using System;
using System.Collections;
public delegate void EventHandler(object snd, EventArgs er);
public class first: ArrayList
{
public event EventHandler vars;
public virtual void OnChanged(EventArgs er)
{
if (vars != null) vars(this, er);
Console.WriteLine("Thanks for your input and your values are validated");
}
public override int Add(Object ob)
{
int fr = base.Add(ob);
OnChanged(EventArgs.Empty);
Console.WriteLine("Your input is added and checking with our backend validationonce completed will get back to you.");
return fr;
}
public override void Clear()
{
base.Clear();
OnChanged(EventArgs.Empty);
Console.WriteLine("Thanks for your second Example your input is validated and cleaned by the browser end");
}
public override object this[int ind]
{
set
{
base[ind] = value;
OnChanged(EventArgs.Empty);
}
}
static void Main(string[] args)
{
first fr = new first();
Console.WriteLine(fr.Add(736));
Console.WriteLine("Thanks for your second Example");
}
}

输出:

C# 对象发送者

在第二个示例中,我们使用了一些额外的默认方法,例如 OnChanged()、Add()、Clear();这些是预定义的方法,用于在创建对象时清理垃圾收集并分配内存,如果我们想通过使用默认方法clear()、remove()删除不需要的引用,我们可以删除它。

示例 #3

using System;
public class examp1
{
public event EventHandler evnts
{
add
{
Console.WriteLine("Welcome To My DOmain Your third Example Started");
}
remove
{
Console.WriteLine("Please provide your inputs");
}
}
}
public class examp
{
public void demo()
{
examp1 emp = new examp1();
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 examples are started and executed successfully");
}
}

输出:

C# 对象发送者

在最后一个示例中,我们使用事件处理程序类及其默认关键字(例如 add 和 remove)来添加和删除内存中的值。这些值由每个类实例及其方法计算和调用。如果该方法有参数,它将在其实例的帮助下调用并传递它。

对象发送者的规则和规定

  1. 对象发送者必须包含带有实例的EventArgs;然后,只有对象发送者将执行其用户活动。
  2. 在大型企业应用程序中,对象创建和分配将花费更多时间,并且发送它们的引用也需要更长的时间。
  3. 通过使用同步,避免了进程线程中的死锁。

结论

C# 对于每组元素都有如此多的预定义关键字、方法及其属性,它有自己的语法和规则,可以更复杂地利用代码,并避免重复和代码冗余。与该对象一样,发送者也是将其传递给方法以供其类引用和使用的参数之一。

以上是C# 对象发送者的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn