Microsoft内部属性 - 此属性没有setter

Chu*_*age 2 c# ilspy visual-studio-2012

当我从课堂上看到这个时,我正在使用ILSpy来阅读一些SystemSystem.Internal.HandleCollector类:

internal sealed class HandleCollector
{        
    ... bunch of stuff removed ...

    internal static event HandleChangeEventHandler HandleAdded
    {
        [MethodImpl(MethodImplOptions.Synchronized)]
        add
        {
            HandleCollector.HandleAdded = (HandleChangeEventHandler)Delegate.Combine(HandleCollector.HandleAdded, value);
        }
        [MethodImpl(MethodImplOptions.Synchronized)]
        remove
        {
            HandleCollector.HandleAdded = (HandleChangeEventHandler)Delegate.Remove(HandleCollector.HandleAdded, value);
        }
    }
    ... bunch of stuff removed ...
}
Run Code Online (Sandbox Code Playgroud)

当VisualStudio抱怨(我复制了类)该属性没有setter时,Microsoft如何编译?有人可以分解为什么这可行但我的VS副本抱怨(构建标志?)?

此属性没有setter

每个HandleCollector.HandleAdded =语句都有错误.

Mik*_*ray 5

我们不需要猜测MS源代码是什么,因为它在这里可用.

这是HandleAddedHandleCollector.cs 的声明:

internal static event HandleChangeEventHandler HandleAdded; 
Run Code Online (Sandbox Code Playgroud)

这是一个自动实施的活动.问题在于ILSpy的反编译.也许你应该提交一个bug.