c# - 为什么委托(delegate)在用作属性(property)时必须公开?

标签 c# properties delegates

class MyClass
{
    **private** delegate void MyDelegate(); //error: MyDelegate is less accessible than property Del
    private MyDelegate del;
    public MyDelegate Del
    {
        get { return this.del; }
        set { this.del = value; }
    }
}

更改为公共(public)修复程序,但我想知道更详细的原因。

最佳答案

如果将 MyDelegate 定义为私有(private)类型,MyClass 的使用者如何知道 Del 的类型?这就像您定义一个私有(private)类并尝试在公共(public)属性中使用该私有(private)类

关于c# - 为什么委托(delegate)在用作属性(property)时必须公开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11322732/

相关文章:

c# - ASP.Net 应用程序作为 IIS_USR 执行 powershell 脚本

c# - 如何更改 ViewModel 属性并将其保存到我的所有页面?

c# - 我可以在 Microsoft Visual Studio 2010 中缩小 JavaScript 或 aspx 代码吗

ios - iOS 中的 -(CGRect *)frame 方法是什么?

c# - 什么是 Func,如何以及何时使用

c# - 炼金术 WebSocketClient

java - 从监听器访问非最终对象

python - 鸭子在 python 中打洞

swift - 为什么在使用 TableView 委托(delegate)时会出现索引超出范围的 fatal error ?

iphone - UITableViewDelegate 和 UITableViewDatasource 之间的区别