委託實現動態時間重新整理
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
Demo obj = new Demo();
obj.myEvent+=new Demo.myDelegate(obj_myEvent);
obj.Run();
Console.ReadLine();
}
private static void obj_myEvent(object sender, EventArgs e)
{
Console.Write("當前時間:" + DateTime.Now.ToLocalTime());
}
}
//事件處理程式委託的標準簽名定義一個沒有返回值的方法,其第一個引數的型別為 Object,它引用引發事件的例項,
//第二個引數從 EventArgs 型別派生,它儲存事件資料。如果事件不生成事件資料,則第二個引數只是 EventArgs 的一個例項。否則,第二個引數為從 EventArgs 派生的自定義型別,
//提供儲存事件資料所需的全部欄位或屬性。
class Demo
{
public delegate void myDelegate(object sender, EventArgs e);//定義委託
public event myDelegate myEvent;//定義委託型別的事件
//定義委託型別的方法
public void Run()
{
//定義一個每一秒鐘觸發的計時器
System.Timers.Timer myTimer = new System.Timers.Timer(1000);
//定義時間間隔所要處理的方法, EventHandler 是一個預定義的委託,專用於表示不生成資料的事件的事件處理程式方法。如果事件生成資料,則必須提供自己的自定義事件資料型別,
//並且必須要麼建立一個委託,其中第二個引數的型別為自定義型別,要麼使用泛型 EventHandler 委託類並用自定義型別替代泛型型別引數。
myTimer.Elapsed += new System.Timers.ElapsedEventHandler(TimeEventHandler);
myTimer.Interval = 1000;
myTimer.Enabled = true;
//觸發事件
myEvent(this, new EventArgs());
}
//委託的方法
public void TimeEventHandler(object sender, System.Timers.ElapsedEventArgs e)
{
Console.Clear();
Console.Write("當前時間:"+ DateTime.Now.ToLocalTime());
}
}![委託實現動態時間重新整理](https://i.iter01.com/images/306e2ebfe7337793206da176fa4169f79c121ce47d3263cb2c1ae9c372da8707.gif)
class
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
Demo obj = new Demo();
obj.myEvent+=new Demo.myDelegate(obj_myEvent);
obj.Run();
Console.ReadLine();
}
private static void obj_myEvent(object sender, EventArgs e)
{
Console.Write("當前時間:" + DateTime.Now.ToLocalTime());
}
}
//事件處理程式委託的標準簽名定義一個沒有返回值的方法,其第一個引數的型別為 Object,它引用引發事件的例項,
//第二個引數從 EventArgs 型別派生,它儲存事件資料。如果事件不生成事件資料,則第二個引數只是 EventArgs 的一個例項。否則,第二個引數為從 EventArgs 派生的自定義型別,
//提供儲存事件資料所需的全部欄位或屬性。
class Demo
{
public delegate void myDelegate(object sender, EventArgs e);//定義委託
public event myDelegate myEvent;//定義委託型別的事件
//定義委託型別的方法
public void Run()
{
//定義一個每一秒鐘觸發的計時器
System.Timers.Timer myTimer = new System.Timers.Timer(1000);
//定義時間間隔所要處理的方法, EventHandler 是一個預定義的委託,專用於表示不生成資料的事件的事件處理程式方法。如果事件生成資料,則必須提供自己的自定義事件資料型別,
//並且必須要麼建立一個委託,其中第二個引數的型別為自定義型別,要麼使用泛型 EventHandler 委託類並用自定義型別替代泛型型別引數。
myTimer.Elapsed += new System.Timers.ElapsedEventHandler(TimeEventHandler);
myTimer.Interval = 1000;
myTimer.Enabled = true;
//觸發事件
myEvent(this, new EventArgs());
}
//委託的方法
public void TimeEventHandler(object sender, System.Timers.ElapsedEventArgs e)
{
Console.Clear();
Console.Write("當前時間:"+ DateTime.Now.ToLocalTime());
}
}
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
Demo obj = new Demo();
obj.myEvent+=new Demo.myDelegate(obj_myEvent);
obj.Run();
Console.ReadLine();
}
private static void obj_myEvent(object sender, EventArgs e)
{
Console.Write("當前時間:" + DateTime.Now.ToLocalTime());
}
}
//事件處理程式委託的標準簽名定義一個沒有返回值的方法,其第一個引數的型別為 Object,它引用引發事件的例項,
//第二個引數從 EventArgs 型別派生,它儲存事件資料。如果事件不生成事件資料,則第二個引數只是 EventArgs 的一個例項。否則,第二個引數為從 EventArgs 派生的自定義型別,
//提供儲存事件資料所需的全部欄位或屬性。
class Demo
{
public delegate void myDelegate(object sender, EventArgs e);//定義委託
public event myDelegate myEvent;//定義委託型別的事件
//定義委託型別的方法
public void Run()
{
//定義一個每一秒鐘觸發的計時器
System.Timers.Timer myTimer = new System.Timers.Timer(1000);
//定義時間間隔所要處理的方法, EventHandler 是一個預定義的委託,專用於表示不生成資料的事件的事件處理程式方法。如果事件生成資料,則必須提供自己的自定義事件資料型別,
//並且必須要麼建立一個委託,其中第二個引數的型別為自定義型別,要麼使用泛型 EventHandler 委託類並用自定義型別替代泛型型別引數。
myTimer.Elapsed += new System.Timers.ElapsedEventHandler(TimeEventHandler);
myTimer.Interval = 1000;
myTimer.Enabled = true;
//觸發事件
myEvent(this, new EventArgs());
}
//委託的方法
public void TimeEventHandler(object sender, System.Timers.ElapsedEventArgs e)
{
Console.Clear();
Console.Write("當前時間:"+ DateTime.Now.ToLocalTime());
}
}
![委託實現動態時間重新整理](https://i.iter01.com/images/306e2ebfe7337793206da176fa4169f79c121ce47d3263cb2c1ae9c372da8707.gif)
![委託實現動態時間重新整理](https://i.iter01.com/images/304cb4d516bdf3b96f0d0d5d9449f8d2292fba9a54aa51d23cc5091c91574e59.gif)
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
Demo obj = new Demo();
obj.myEvent+=new Demo.myDelegate(obj_myEvent);
obj.Run();
Console.ReadLine();
}
private static void obj_myEvent(object sender, EventArgs e)
{
Console.Write("當前時間:" + DateTime.Now.ToLocalTime());
}
}
//事件處理程式委託的標準簽名定義一個沒有返回值的方法,其第一個引數的型別為 Object,它引用引發事件的例項,
//第二個引數從 EventArgs 型別派生,它儲存事件資料。如果事件不生成事件資料,則第二個引數只是 EventArgs 的一個例項。否則,第二個引數為從 EventArgs 派生的自定義型別,
//提供儲存事件資料所需的全部欄位或屬性。
class Demo
{
public delegate void myDelegate(object sender, EventArgs e);//定義委託
public event myDelegate myEvent;//定義委託型別的事件
//定義委託型別的方法
public void Run()
{
//定義一個每一秒鐘觸發的計時器
System.Timers.Timer myTimer = new System.Timers.Timer(1000);
//定義時間間隔所要處理的方法, EventHandler 是一個預定義的委託,專用於表示不生成資料的事件的事件處理程式方法。如果事件生成資料,則必須提供自己的自定義事件資料型別,
//並且必須要麼建立一個委託,其中第二個引數的型別為自定義型別,要麼使用泛型 EventHandler 委託類並用自定義型別替代泛型型別引數。
myTimer.Elapsed += new System.Timers.ElapsedEventHandler(TimeEventHandler);
myTimer.Interval = 1000;
myTimer.Enabled = true;
//觸發事件
myEvent(this, new EventArgs());
}
//委託的方法
public void TimeEventHandler(object sender, System.Timers.ElapsedEventArgs e)
{
Console.Clear();
Console.Write("當前時間:"+ DateTime.Now.ToLocalTime());
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-442647/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- .NET Core 利用委託實現動態流程組裝
- winform實現委託ORM
- dotnet 委託的實現解析
- dotnet 委託的實現解析(2)開放委託和封閉委託 (Open Delegates vs. Closed Delegates)
- # 委託
- 委託
- PHP實現BitMEX API POST方式委託掛單PHPAPI
- 動態時間
- 委託與事件-委託詳解(一)事件
- TabLayout + ViewPager +Fragment 實現頁面的動態重新整理TabLayoutViewpagerFragment
- apollo與springboot整合實現動態重新整理配置Spring Boot
- 用委託者模式實現的多型別Adapter模式多型型別APT
- SpringBoot整合Quartz實現動態修改定時任務間隔Spring Bootquartz
- 事件委託事件
- js動態時間JS
- 通過釋出訂閱模式實現的事件委託模式事件
- 行為委託
- C#委託C#
- Java-委託Java
- JavaScript動態時間日期JavaScript
- JavaScript 動態時間日期JavaScript
- iOS:利用訊息轉發機制實現多播委託iOS
- C# 委託(delegate)、泛型委託和Lambda表示式C#泛型
- sqlalchemy實現時間列自動更新SQL
- C#委託的幾種表現方式C#
- C#使用委託實現函式回撥,方法呼叫攔截C#函式
- C#-委託delegateC#
- 委託的好處
- Kotlin基礎 — 委託Kotlin
- wpf移除事件委託事件
- 04.委託Delegation
- UE4委託
- JQuery7:事件委託jQuery事件
- C# - 委託與事件C#事件
- C#委託與事件C#事件
- 事件模型和事件委託事件模型
- 優化委託的 `DynamicInvoke`優化
- js中的事件委託JS事件
- c# 委託和事件C#事件