为什么代表在用作财产时必须公开?

use*_*870 1 c# delegates properties

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; }
    }
}
Run Code Online (Sandbox Code Playgroud)

改为公开修复,但我想更详细地了解原因.

Har*_*wok 5

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