gpt4 book ai didi

c# - 为什么不能从声明类的外部调用事件或设置它们的调用列表

转载 作者:行者123 更新时间:2023-11-30 19:42:45 24 4
gpt4 key购买 nike

面试问题:为什么不能从声明类的外部调用事件及其调用列表?

我在这篇文章中找到了对问题第一部分的解释 Events Invocation

我认为第二部分的答案在于安全性。还有其他原因考虑吗?

最佳答案

您的面试官可能正在寻找的关键字是封装

事件仅应向潜在订阅者公开订阅取消订阅 操作。调用实际上是公开事件的类的责任。

另请记住,public event EventHandler FooBar; 是以下语法的缩写形式

private EventHandler _fooBar;

public event EventHandler FooBar
{
add
{
_fooBar = (EventHandler)Delegate.Combine(_fooBar, value);
}
remove
{
_fooBar = (EventHandler)Delegate.Remove(_fooBar, value);
}
}

参见 Event Accessors

关于c# - 为什么不能从声明类的外部调用事件或设置它们的调用列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16819830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com