我因爲聽了一些系統類與ILSpy,當我遇到這種來自於System.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 ...
}
它怎麼說,微軟可以編譯這個時VisualStudio抱怨(我複製了該類)該屬性沒有setter?有人可以分解爲什麼這個作品,但我的VS副本抱怨(建立標誌?)?
這家酒店沒有一個二傳手
的錯誤是在每個HandleCollector.HandleAdded =
語句。
這不是一個屬性;這是一個'事件'。因此它不需要'get''和'set'訪問器。 – stakx 2013-03-09 19:48:55
那麼爲什麼VS抱怨 – 2013-03-09 19:49:17
ILSpy和其他工具經常不得不努力代表一些不直接映射到語言的東西... – 2013-03-09 20:06:09