C#中的委托和事件

委托和事件一般是一起使用的,事件也是特殊的委托,事件和委托的的区别有:

 1.委托可以使用 ‘=’ 来赋值而事件不可以

 2.委托可以在类的外部调用(最好不要),而事件只可以在类内部调用

 3.委托是一个类型,而事件是用来修饰对象的

 委托在U3D中提供了一种脚本之间通信的方式,一般也用来起回调的作用,就像传参数一样,可以传递方法。

 

例如声明两个类cube.clsss和sphere.class

 1 using UnityEngine;
 2 using System.Collections;
 3 
 4 public class cube: MonoBehaviour {
 5 
 6     public delegate void deleFunction(GameObject str);
 7 
 8     public static event deleFunction eventFunction;
 9 
10     // Use this for initialization
11     void Start () {
12     
13     }
14     
15     // Update is called once per frame
16     void Update () {
17     
18     }
19 
20     void OnMouseOver(){
21 
22         if(eventFunction!= null){
23 
24             eventFunction(this.gameObject);
25         }
26     }
27 }
View Code
 1 using UnityEngine;
 2 using System.Collections;
 3 
 4 public class sphere: MonoBehaviour {
 5 
 6 
 7 
 8     // Use this for initialization
 9     void Start () {
10 
11         cube.eventFunction += Test;
12     }
13     
14     // Update is called once per frame
15     void Update () {
16     
17     }
18 
19     void Test(GameObject t){
20 
21         this.renderer.material.color = Color.red;        
22         t.transform.Rotate(transform.forward);
23     }
24 }
View Code

在unity中创建cube和sphere,将脚本托给相应物体。运行游戏会发现

在游戏开始的时候,sphere脚本注册cube产生的委托,来执行Test函数,

当鼠标移入cube物体上时,会判断时间是否有人注册,如果有人注册会将cube的gameobject传个注册函数并执行sphere里面的注册函数。

这样做也就实现了用cube的OnMouseOver事件来触发sphere物体的Test函数。

 

【完美复现】面向配电网韧性提升的移动储能预布局与动态调度策略【IEEE33节点】(Matlab代码实现)内容概要:本文介绍了基于IEEE33节点的配电网韧性提升方法,重点研究了移动储能系统的预布局与动态调度策略。通过Matlab代码实现,提出了一种结合预配置动态调度的两阶段优化模型,旨在应对电网故障或极端事件时快速恢复供电能力。文中采用了多种智能优化算法(如PSO、MPSO、TACPSO、SOA、GA等)进行对比分析,验证所提策略的有效性优越性。研究不仅关注移动储能单元的初始部署位置,还深入探讨其在故障发生后的动态路径规划与电力支援过程,从而全面提升配电网的韧性水平。; 适合人群:具备电力系统基础知识Matlab编程能力的研究生、科研人员及从事智能电网、能源系统优化等相关领域的工程技术人员。; 使用场景及目标:①用于科研复现,特别是IEEE顶刊或SCI一区论文中关于配电网韧性、应急电源调度的研究;②支撑电力系统在灾害或故障条件下的恢复力优化设计,提升实际电网应对突发事件的能力;③为移动储能系统在智能配电网中的应用提供理论依据技术支持。; 阅读建议:建议读者结合提供的Matlab代码逐模块分析,重点关注目标函数建模、约束条件设置以及智能算法的实现细节。同时推荐参考文中提及的MPS预配置与动态调度上下两部分,系统掌握完整的技术路线,并可通过替换不同算法或测试系统进一步拓展研究。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值