ホームページ  >  記事  >  バックエンド開発  >  C# オブジェクト送信者

C# オブジェクト送信者

WBOY
WBOYオリジナル
2024-09-03 15:06:14286ブラウズ

C# オブジェクトの送信側は引数の 1 つであり、ハンドラーが正しいオブジェクトをマッピングするように応答するために使用されるイベントに対して発生したオブジェクトの参照を作成するためのパラメーターです (静的パラメーターの場合)。またはイベントの場合、メソッドにパラメーターを渡すことができる 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# ではオブジェクト センダーはどのように動作しますか?

一般オブジェクトでは、送信者は C# 言語のパラメーターの 1 つであり、アプリケーション上の特定のイベントによって発生するオブジェクトのインスタンスを作成するためにも使用されます。このイベントは、主に処理され、オブジェクトの作成を担当する Eventhandler メカニズムを使用して処理されます。ただし、静的、動的などのキーワードを使用した場合、静的イベントを使用した場合、値は互いに異なり、パラメーター値は常に​​ null になります。イベント ハンドラーは、クライアントの要求に基づいてオブジェクトを実行するために主に使用できるメソッドの 1 つです。その後、アプリケーションで発生する特定のイベントに対して応答がスローされます。

オブジェクト センダー参照により、イベントがトリガーされて実行されるため、センダーはイベントをアクティブ化するために使用できるメイン コントロールの 1 つです。 UI ボタン​​はイベントの 1 つで、主にユーザーの操作やアクションをバックエンドで実行するために使用されます。送信者ボタンをクリックするとイベントがトリガーされ、ユーザーの要件に基づいて操作が実行されます。クライアントのデータはフロントエンドとバックエンドの両方から検証されます。

以下は 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 つの異なるイベントを作成でき、それらのインスタンスを使用することで、これらのイベントを呼び出し、出力コンソールに出力される別のインスタンスを作成できます。

例 #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# オブジェクト送信者

2 番目の例では、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# には、要素のセットごとに非常に多くの事前定義されたキーワード、メソッド、およびそれらの属性があり、コードをより洗練された方法で利用するための独自の構文とルールがあり、重複やコードの冗長性を回避します。そのオブジェクトと同様に、送信者もクラス参照と使用のためにメソッドに渡すパラメータの 1 つです。

以上がC# オブジェクト送信者の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。