所以我正处于理解事件和代表的地步。
我总体了解代表的用法。关于委托,我唯一担心的是委托是否可以配置为使用与事件无关的函数......如果可以,我如何为委托定义的函数编写逻辑?(我想这样的功能并没有多大意义,但很高兴知道。)
至于事件……我很难理解。我认为事件是一个函数,当代码中发生某些事情时会执行该函数。但是,我没有得到创建事件的过程。部分。
对于这个问题,我将使用Gary Willoughby的答案:https ://stackoverflow.com/a/803528/1104766 它发布在我试图理解整个主题的问题上。
我在上面的示例中没有得到什么:
MyObject.OnMaximum += new MyEventHandler(MaximumReached);
首先,如何创建委托的实例,并在需要 2 个变量时只传递 1 个变量?一定有我遗漏的东西......
关于这一行的第二件事是new ...()
实例被添加到OnMaximum
驻留在MyObject
其中的实例的函数中MyClass
-如果可以完成这样的事情到底是什么?OnMaximum
它也从未真正定义过!
if(OnMaximum != null) {
OnMaximum(this, new MyEventArgs("You've entered " +
value.ToString() +
", but the maximum is " +
Maximum.ToString()));
}
至于这部分,OnMaximum
被调用了,但它的逻辑从未在代码中的任何地方真正定义过,那么结果会是什么?显然我猜它会是文本“你已经输入......”但我的问题是更具体地说,函数/事件接收到的值到底会发生什么?
为了清楚起见,我用粗体标记了所有问题。
PS,我知道这个问题通常已经发布了几次。
请注意,此特定问题是指另一位成员撰写的答案,此处提出的问题是针对此示例的。这就是为什么在谷歌中找不到这样的答案。
不过,为了记录,我在发布之前进行了搜索,并且确实尝试理解,但我想示例是我理解某些东西的最佳方式,尤其是在我缺乏英语 CS 词汇知识的情况下。