<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FC_Sharp%2FLanguage_Basics%2FEvent_Handler</id>
		<title>Csharp/C Sharp/Language Basics/Event Handler - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FC_Sharp%2FLanguage_Basics%2FEvent_Handler"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/Language_Basics/Event_Handler&amp;action=history"/>
		<updated>2026-04-29T21:22:49Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/C_Sharp/Language_Basics/Event_Handler&amp;diff=762&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/Language_Basics/Event_Handler&amp;diff=762&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:18Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/C_Sharp/Language_Basics/Event_Handler&amp;diff=763&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/Language_Basics/Event_Handler&amp;diff=763&amp;oldid=prev"/>
				<updated>2010-05-26T11:39:50Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Demonstrate passing an object to an event handler and performing the proper cast in the method==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Programming Tips &amp;amp; Techniques&lt;br /&gt;
by Charles Wright, Kris Jamsa&lt;br /&gt;
Publisher: Osborne/McGraw-Hill (December 28, 2001)&lt;br /&gt;
ISBN: 0072193794&lt;br /&gt;
*/&lt;br /&gt;
 &lt;br /&gt;
// ObjEvent.cs -- Demonstrate passing an object to an event handler and&lt;br /&gt;
//                performing the proper cast in the method.&lt;br /&gt;
//&lt;br /&gt;
//                Compile this program with the following command line:&lt;br /&gt;
//                    C:&amp;gt;csc ObjEvent.cs&lt;br /&gt;
using System;&lt;br /&gt;
namespace nsEvents&lt;br /&gt;
{&lt;br /&gt;
    public class ObjEvent1&lt;br /&gt;
    {&lt;br /&gt;
        public delegate void EventHandler (object obj);&lt;br /&gt;
        public event EventHandler EvInvoke;&lt;br /&gt;
        public void FireEvent (object obj)&lt;br /&gt;
        {&lt;br /&gt;
            if (obj != null)&lt;br /&gt;
                EvInvoke (obj);&lt;br /&gt;
        }&lt;br /&gt;
        static public void Main ()&lt;br /&gt;
        {&lt;br /&gt;
            ObjEvent1 main = new ObjEvent1 ();&lt;br /&gt;
            main.EvInvoke = new ObjEvent1.EventHandler (ObjEvent);&lt;br /&gt;
            main.FireEvent (42);&lt;br /&gt;
            main.FireEvent (42.0);&lt;br /&gt;
        }&lt;br /&gt;
        static void ObjEvent (object obj)&lt;br /&gt;
        {&lt;br /&gt;
            if (obj is double)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine (&amp;quot;Received a double object: &amp;quot; + (double) obj);&lt;br /&gt;
            }&lt;br /&gt;
            else if (obj is int)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine (&amp;quot;Received an int object: &amp;quot; + (int) obj);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==illustrates the use of an event==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Mastering Visual C# .NET&lt;br /&gt;
by Jason Price, Mike Gunderloy&lt;br /&gt;
Publisher: Sybex;&lt;br /&gt;
ISBN: 0782129110&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
  Example12_4.cs illustrates the use of an event&lt;br /&gt;
*/&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
// declare the MeltdownEventArgs class (implements EventArgs)&lt;br /&gt;
class MeltdownEventArgs : EventArgs&lt;br /&gt;
{&lt;br /&gt;
  // declare a private field named message&lt;br /&gt;
  private string message;&lt;br /&gt;
  // define a constructor&lt;br /&gt;
  public MeltdownEventArgs(string message)&lt;br /&gt;
  {&lt;br /&gt;
    this.message = message;&lt;br /&gt;
  }&lt;br /&gt;
  // define a property to get the message&lt;br /&gt;
  public string Message&lt;br /&gt;
  {&lt;br /&gt;
    get&lt;br /&gt;
    {&lt;br /&gt;
      return message;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// declare the Reactor class&lt;br /&gt;
class Reactor&lt;br /&gt;
{&lt;br /&gt;
  // declare a private field named temperature&lt;br /&gt;
  private int temperature;&lt;br /&gt;
  // declare a delegate class named MeltdownHandler&lt;br /&gt;
  public delegate void MeltdownHandler(&lt;br /&gt;
    object reactor,&lt;br /&gt;
    MeltdownEventArgs myMEA&lt;br /&gt;
  );&lt;br /&gt;
  // declare an event named OnMeltdown&lt;br /&gt;
  public event MeltdownHandler OnMeltdown;&lt;br /&gt;
  // define a property to set the temperature&lt;br /&gt;
  public int Temperature&lt;br /&gt;
  {&lt;br /&gt;
    set&lt;br /&gt;
    {&lt;br /&gt;
      temperature = value;&lt;br /&gt;
      // if the temperature is too high, the reactor melts down&lt;br /&gt;
      if (temperature &amp;gt; 1000)&lt;br /&gt;
      {&lt;br /&gt;
        MeltdownEventArgs myMEA =&lt;br /&gt;
          new MeltdownEventArgs(&amp;quot;Reactor meltdown in progress!&amp;quot;);&lt;br /&gt;
          OnMeltdown(this, myMEA);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// declare the ReactorMonitor class&lt;br /&gt;
class ReactorMonitor&lt;br /&gt;
{&lt;br /&gt;
  // define a constructor&lt;br /&gt;
  public ReactorMonitor(Reactor myReactor)&lt;br /&gt;
  {&lt;br /&gt;
    myReactor.OnMeltdown +=&lt;br /&gt;
      new Reactor.MeltdownHandler(DisplayMessage);&lt;br /&gt;
  }&lt;br /&gt;
  // define the DisplayMessage() method&lt;br /&gt;
  public void DisplayMessage(&lt;br /&gt;
    object myReactor, MeltdownEventArgs myMEA&lt;br /&gt;
  )&lt;br /&gt;
  {&lt;br /&gt;
    Console.WriteLine(myMEA.Message);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public class Example12_4&lt;br /&gt;
{&lt;br /&gt;
  public static void Main()&lt;br /&gt;
  {&lt;br /&gt;
    // create a Reactor object&lt;br /&gt;
    Reactor myReactor = new Reactor();&lt;br /&gt;
    // create a ReactorMonitor object&lt;br /&gt;
    ReactorMonitor myReactorMonitor = new ReactorMonitor(myReactor);&lt;br /&gt;
    // set myReactor.Temperature to 100 degrees Centigrade&lt;br /&gt;
    Console.WriteLine(&amp;quot;Setting reactor temperature to 100 degrees Centigrade&amp;quot;);&lt;br /&gt;
    myReactor.Temperature = 100;&lt;br /&gt;
    // set myReactor.Temperature to 500 degrees Centigrade&lt;br /&gt;
    Console.WriteLine(&amp;quot;Setting reactor temperature to 500 degrees Centigrade&amp;quot;);&lt;br /&gt;
    myReactor.Temperature = 500;&lt;br /&gt;
    // set myReactor.Temperature to 2000 degrees Centigrade&lt;br /&gt;
    // (this causes the reactor to meltdown)&lt;br /&gt;
    Console.WriteLine(&amp;quot;Setting reactor temperature to 2000 degrees Centigrade&amp;quot;);&lt;br /&gt;
    myReactor.Temperature = 2000;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Shows how multiple objects may subscribe to the same event==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Programming Tips &amp;amp; Techniques&lt;br /&gt;
by Charles Wright, Kris Jamsa&lt;br /&gt;
Publisher: Osborne/McGraw-Hill (December 28, 2001)&lt;br /&gt;
ISBN: 0072193794&lt;br /&gt;
*/&lt;br /&gt;
 // Subscrib.cs -- Shows how multiple objects may subscribe to the same&lt;br /&gt;
//                event.&lt;br /&gt;
//&lt;br /&gt;
//                Compile this program with the following command line:&lt;br /&gt;
//                    C:&amp;gt;csc Subscrib.cs&lt;br /&gt;
using System;&lt;br /&gt;
namespace nsEvents&lt;br /&gt;
{&lt;br /&gt;
    public class Subscrib&lt;br /&gt;
    {&lt;br /&gt;
        // Declare an instance of the clsDelegate class. The event variable&lt;br /&gt;
        // is not static.&lt;br /&gt;
        static public clsDelegate dlg = new clsDelegate ();&lt;br /&gt;
        static public void Main ()&lt;br /&gt;
        {&lt;br /&gt;
            // Add clsMain to the event list&lt;br /&gt;
            dlg.DoEvent += new clsDelegate.StringHandler (ShowEvent);&lt;br /&gt;
            // Create subscribers for the event&lt;br /&gt;
            clsSubscriber sub = new clsSubscriber ();&lt;br /&gt;
            clsNextSubscriber sub2 = new clsNextSubscriber ();&lt;br /&gt;
            // Fire the event.&lt;br /&gt;
            dlg.FireEvent (&amp;quot;Fired from Main()&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        static public void ShowEvent (string str)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine (&amp;quot;Main handled event: &amp;quot; + str);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public class clsDelegate&lt;br /&gt;
    {&lt;br /&gt;
        &lt;br /&gt;
        // Declare a delegate for the event&lt;br /&gt;
        public delegate void StringHandler (string str);&lt;br /&gt;
        &lt;br /&gt;
        // A variable to hold the delegate&lt;br /&gt;
        public event StringHandler DoEvent;&lt;br /&gt;
        &lt;br /&gt;
        // This method will trigger the event.&lt;br /&gt;
        public void FireEvent (string str)&lt;br /&gt;
        {&lt;br /&gt;
            if (DoEvent != null)&lt;br /&gt;
                DoEvent (str);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public class clsSubscriber&lt;br /&gt;
    {&lt;br /&gt;
        public clsSubscriber ()&lt;br /&gt;
        {&lt;br /&gt;
            Subscrib.dlg.DoEvent +=&lt;br /&gt;
                         new clsDelegate.StringHandler (SubscribeEvent);&lt;br /&gt;
        }&lt;br /&gt;
        public void SubscribeEvent (string str)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine (&amp;quot;Subscriber handled event: &amp;quot; + str);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public class clsNextSubscriber&lt;br /&gt;
    {&lt;br /&gt;
        public clsNextSubscriber ()&lt;br /&gt;
        {&lt;br /&gt;
            Subscrib.dlg.DoEvent +=&lt;br /&gt;
                         new clsDelegate.StringHandler (SubscribeEvent);&lt;br /&gt;
        }&lt;br /&gt;
        public void SubscribeEvent (string str)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine (&amp;quot;Next Subscriber handled event: &amp;quot; + str);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>