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; }
    }
}


更改为公共修复程序,但我想更详细地了解原因。

最佳答案

MyDelegate是公共财产Del签名的一部分。

如果某些东西消耗了Del的返回值,则肯定需要定义要返回的类型。

换句话说,如果某个其他类具有MyClass的实例,例如:

MyClass myclass = new MyClass();
MyDelegate del = myclass.Del;


除非MyDelegate是该类已知的类型,否则将不可能。

09-10 03:55