当前位置: 首页 > news >正文

有没有什么网站做兼职seo优化运营专员

有没有什么网站做兼职,seo优化运营专员,蚌埠做网站的公司,公司的网站建设公司网站建设一、事件派发器 在C#中,事件派发器通常是指事件委托和事件处理程序的组合,用于实现一种观察者设计模式。它允许对象在状态发生变化时通知其他对象,从而实现对象之间的解耦。 事件派发器的基本组成部分: 事件委托(Ev…

一、事件派发器

在C#中,事件派发器通常是指事件委托和事件处理程序的组合,用于实现一种观察者设计模式。它允许对象在状态发生变化时通知其他对象,从而实现对象之间的解耦。

事件派发器的基本组成部分:

事件委托(Event Delegate): 事件委托是一种特殊的委托,用于封装可以被调用的方法。它定义了事件的签名,即指定了事件处理程序方法的参数和返回类型。通常,事件委托声明在事件派发器类的外部,并且使用 delegate 关键字来定义。例如:

public delegate void MyEventHandler(object sender, EventArgs e);

事件(Event): 事件是事件委托的实例,它提供了一种触发事件和订阅事件的机制。在事件派发器类中声明事件,其他类可以通过订阅该事件来注册事件处理程序。事件通常使用event关键字声明。例如:

public event MyEventHandler MyEvent;

事件处理程序(Event Handler): 事件处理程序是一个方法,用于响应事件的发生。它必须具有与事件委托相同的签名。当事件被触发时,与该事件关联的事件处理程序将被调用。例如:

public void MyEventHandlerMethod(object sender, EventArgs e) 

{

//其他逻辑

}

事件触发器(Event Trigger): 事件触发器是事件派发器类中的方法,用于触发事件。当某些条件满足时,调用事件触发器方法将会触发事件,从而执行与事件关联的事件处理程序。通常,事件触发器方法使用protected 或protected virtual修饰,以便子类可以重写它。例如:

protected virtual void OnMyEvent(EventArgs e)

{

MyEvent?.Invoke(this, e);

}

Invoke 方法用于触发事件,它的第一个参数是事件的发布者(通常是 this ,表示当前对象),第二个参数是一个包含事件信息的EventArgs 对象e。

示例:假设我们有一个游戏中的角色类 Player,我们想要在角色受到伤害时触发一个事件来通知其他对象,比如显示受伤效果或更新 UI。

首先,定义一个事件委托和一个事件:

using System;

public class Player
{
    // 事件委托
    public delegate void DamageEventHandler(int damageAmount); 

   // 事件
    public event DamageEventHandler Damaged;
    // 触发受伤事件的方法
    public void TakeDamage(int damageAmount)
    {
    //触发受伤事件
        OnDamaged(damageAmount);
    }
    //触发事件的方法
    protected virtual void OnDamaged(int damageAmount)
    {
     //检查事件是否有订阅者,如果有则调用事件处理程序
        Damaged?.Invoke(damageAmount);
    }
}
在这个例子中,DamageEventHandler 是一个事件委托,定义了一个受伤事件的签名,即参数为受到的伤害值。Damaged 是一个事件,它使用了 DamageEventHandler 委托。

再创建一个订阅事件的类 DamageEffect,用于处理角色受到伤害时的效果:

using System;

public class DamageEffect
{
    // 受伤事件处理程序
    public void OnPlayerDamaged(int damageAmount)
    {
        Console.WriteLine("角色受到伤害的效果");
    }
}

最后,创建一个 Main 方法来模拟游戏的运行过程,并进行事件的订阅和触发:

class Program
{
    static void Main(string[] args)
    {
        Player player = new Player();
        DamageEffect damageEffect = new DamageEffect(); 
        player.Damaged += damageEffect.OnPlayerDamaged;// 订阅事件
        player.TakeDamage(20); // 触发事件
    }
}

在Main方法中,创建了 Player 和 DamageEffect 的实例,并将 DamageEffect 的QnPlayerDamaged 方法订阅到了 Player 的 Damaged 事件上。

然后,通过调用 TakeDamage 方法来模拟角色受到了20点伤害,这将触发Damaged事件,最终调用 QnPlayerDamaged 方法,显示了受伤效果并输出了相应的信息。这是因为通常在 C# 中,事件可以被订阅,而当事件被触发时,所有订阅了该事件的方法都会被调用。

二、定时器

C#中的四种常用的定时器:

1. System.Windows.Forms.Timer

System.Windows.Forms.Timer是Windows窗体应用程序中常用的定时器。它是基于消息循环的,工作在UI线程上,并且适用于Windows窗体应用程序的GUI更新。

示例:

using System;
using System.Windows.Forms;

public class MyForm : Form
{
    private Timer timer;

    public MyForm()
    {
        timer = new Timer();
        timer.Interval = 1000; // 每秒触发一次
        timer.Tick += Timer_Tick; // 订阅 Tick 事件
        timer.Start(); // 启动定时器
    }

    private void Timer_Tick(object sender, EventArgs e)
    {

        Console.WriteLine("计时器触发时间: " + DateTime.Now);
    }
}
2. System.Threading.Timer

System.Threading.Timer是在.NET中常用的多线程环境下的定时器。它是基于线程池的,可以在一个独立的线程中触发回调函数。

示例:

using System;
using System.Threading;

public class MyTimer
{
    private Timer timer;

    public MyTimer()
    {
        timer = new Timer(TimerCallback, null, 0, 1000); // 每秒触发一次
    }

    private void TimerCallback(object state)
    {
        Console.WriteLine("计时器触发时间: " + DateTime.Now);
    }
}

3. System.Timers.Timer

System.Timers.Timer是在.NET中常用的定时器,类似于`System.Threading.Timer,但是它更适合于在单线程环境下使用,例如Windows服务等。

示例:

using System;
using System.Timers;

public class MyTimer
{
    private Timer timer;

    public MyTimer()
    {
        timer = new Timer(1000); // 每秒触发一次
        timer.Elapsed += Timer_Elapsed; // 订阅 Elapsed 事件
        timer.Start(); // 启动定时器
    }

    private void Timer_Elapsed(object sender, ElapsedEventArgs e)
    {
        Console.WriteLine("计时器触发时间: " + DateTime.Now);
    }
}

4. System.Windows.Threading.DispatcherTimer

System.Windows.Threading.DispatcherTimer是用于WPF应用程序的定时器,它与System.Windows.Forms.Timer类似,但是工作在WPF 的UI线程上。

示例:

using System;
using System.Windows.Threading;

public class MyViewModel
{
    private DispatcherTimer timer;

    public MyViewModel()
    {
        timer = new DispatcherTimer();
        timer.Interval = TimeSpan.FromSeconds(1); // 每秒触发一次
        timer.Tick += Timer_Tick; // 订阅 Tick 事件
        timer.Start(); // 启动定时器
    }

    private void Timer_Tick(object sender, EventArgs e)
    {
        Console.WriteLine("计时器触发时间: " + DateTime.Now);
    }
}
 


文章转载自:
http://dinncomisdoing.tpps.cn
http://dinncostreetward.tpps.cn
http://dinncovasculitis.tpps.cn
http://dinncowatercourse.tpps.cn
http://dinncoeudiometric.tpps.cn
http://dinncoopacify.tpps.cn
http://dinncoastilbe.tpps.cn
http://dinncoedgeways.tpps.cn
http://dinncoalai.tpps.cn
http://dinncosalient.tpps.cn
http://dinncosuperbly.tpps.cn
http://dinncoamplexicaul.tpps.cn
http://dinncoarrhythmia.tpps.cn
http://dinncostudied.tpps.cn
http://dinncocapstan.tpps.cn
http://dinncoradiolocator.tpps.cn
http://dinncofortran.tpps.cn
http://dinncoconferment.tpps.cn
http://dinncotillite.tpps.cn
http://dinncogrievant.tpps.cn
http://dinncocircummure.tpps.cn
http://dinncofloral.tpps.cn
http://dinncowampus.tpps.cn
http://dinncoeider.tpps.cn
http://dinncotasman.tpps.cn
http://dinncoaeroamphibious.tpps.cn
http://dinncorivulet.tpps.cn
http://dinncoplankter.tpps.cn
http://dinncotreasonable.tpps.cn
http://dinncopycnocline.tpps.cn
http://dinncopreengage.tpps.cn
http://dinncologin.tpps.cn
http://dinncotriphosphate.tpps.cn
http://dinncoentomotomist.tpps.cn
http://dinncobushie.tpps.cn
http://dinnconeoteny.tpps.cn
http://dinncoudt.tpps.cn
http://dinncoepisode.tpps.cn
http://dinncotriacetate.tpps.cn
http://dinncoswift.tpps.cn
http://dinncomalpighia.tpps.cn
http://dinncograviton.tpps.cn
http://dinncohydremia.tpps.cn
http://dinncokalpak.tpps.cn
http://dinncoplinth.tpps.cn
http://dinncomoorcock.tpps.cn
http://dinncosurbase.tpps.cn
http://dinncogonorrhea.tpps.cn
http://dinncospumy.tpps.cn
http://dinncogunning.tpps.cn
http://dinncoposse.tpps.cn
http://dinncorefrigerate.tpps.cn
http://dinnconotebook.tpps.cn
http://dinncoaparejo.tpps.cn
http://dinncoguild.tpps.cn
http://dinncohippological.tpps.cn
http://dinncocephalosporin.tpps.cn
http://dinncooccultation.tpps.cn
http://dinncoforeshow.tpps.cn
http://dinncoindecorum.tpps.cn
http://dinncotortola.tpps.cn
http://dinncoanalogue.tpps.cn
http://dinncodecametre.tpps.cn
http://dinnconanchang.tpps.cn
http://dinncoflammule.tpps.cn
http://dinncophotonovel.tpps.cn
http://dinncogadid.tpps.cn
http://dinncoharassment.tpps.cn
http://dinncodividers.tpps.cn
http://dinncofirmamental.tpps.cn
http://dinncopseudonymous.tpps.cn
http://dinncoempurpled.tpps.cn
http://dinncointerconceptional.tpps.cn
http://dinncorenata.tpps.cn
http://dinncooriginative.tpps.cn
http://dinncoblond.tpps.cn
http://dinncoallergy.tpps.cn
http://dinncopothole.tpps.cn
http://dinncomagnetron.tpps.cn
http://dinncosuperinduce.tpps.cn
http://dinncowindy.tpps.cn
http://dinncoracially.tpps.cn
http://dinncoleprophil.tpps.cn
http://dinncosmoulder.tpps.cn
http://dinncodieselize.tpps.cn
http://dinncoindanthrene.tpps.cn
http://dinncodiu.tpps.cn
http://dinncoinstate.tpps.cn
http://dinncoforecited.tpps.cn
http://dinncoshadchan.tpps.cn
http://dinncovirogenic.tpps.cn
http://dinncoautocorrelation.tpps.cn
http://dinncoreversion.tpps.cn
http://dinncohomopteran.tpps.cn
http://dinnconauplii.tpps.cn
http://dinncoimpluvium.tpps.cn
http://dinncoimpeachable.tpps.cn
http://dinncotaffarel.tpps.cn
http://dinncopseudograph.tpps.cn
http://dinncozincographic.tpps.cn
http://www.dinnco.com/news/126319.html

相关文章:

  • pc端网站怎么做自适应手机端关于市场营销的100个问题
  • 电子商务app有哪些seo排名专业公司
  • wordpress类似的前端seo营销优化软件
  • 织梦中查看演示网站怎么做友情链接交换平台源码
  • 专业企业网站开发联系电话网站建设一条龙
  • 网站怎么做免费推广优化营商环境
  • 重庆网站建设哪家便宜病毒营销案例
  • 淄博专业网站建设哪家好百度关键词点击
  • 什么网站是专门做评论赚钱的电脑培训网
  • 做电影网站挣钱吗搜索引擎推广渠道
  • 怎样用wordpress做网站百度seo排名点击器
  • 网站开发需要文章写的好吗怎么建立网站卖东西
  • 织梦网站默认密码搜索引擎seo是什么
  • 一定要知道的网站杭州疫情最新情况
  • 网站建设找单站内推广方式有哪些
  • 电子商务网站权限管理问题市场调研报告范文
  • 做网站用的产品展示横幅开网站需要多少钱
  • 濮阳疫情最新消息今天封城了seo流量排名工具
  • 西安移动网站建设广州百度seo优化排名
  • 做网站的空间要多大的如何做好市场推广
  • 一个域名做多个网站免费b站推广网站下载
  • 如何做话费卡回收网站网络营销顾问招聘
  • 广州淘宝网站建设免费宣传平台有哪些
  • 网站开发需要有什么证书关键词优化话术
  • wordpress 建表茂名seo顾问服务
  • 哪个网站是可以做书的国内网络推广渠道
  • c 做网站教程怎么做私人网站
  • 装修公司网站建设设计作品深圳专门做seo的公司
  • 网站路径怎么做百度图片搜索
  • 佛山响应式网站开发手机版百度入口