book是一个对象,Namechanged是委托类型的字段,OnNameChange是委托可以指向的方法; OnNameChange只需写入控制台窗口
使用此代码:
book.NameChanged = OnNameChange;
book.NameChanged += OnNameChange;
屏幕上将显示两个实例。
但是使用此代码:
book.NameChanged += OnNameChange;
book.NameChanged = OnNameChange;
只有一个实例打印到屏幕上,其行为与以下代码相同:
book.NameChanged = OnNameChange;
book.NameChanged = OnNameChange;
有人请向我介绍C#中的委托基础。我仍然是一个初学者,当我尝试破坏并逐步进入代码本身时会迷路。我对自己的行为进行解释的无力尝试是,如果您启动一个多播委托,则后续的强制类型转换也应该是多播的。
任何帮助我理解概念的输出都非常感谢:D
假设你有
const int oneBook = 1;
int bookCounter = 0;
您的第一个代码块等效于:
// bookCounter == 0
bookCounter = oneBook;
// bookCounter == 1
bookCounter += oneBook;
// bookCounter == 2
您的第二个代码块等效于:
// bookCounter == 0
bookCounter += oneBook;
// bookCounter == 1
bookCounter = oneBook;
// bookCounter == 1
代表的行为非常相似,但是代表执行代码而不是递增数字的函数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句