2016-09-07 5 views
0

Я просто потянул WebSocketSharp через nuget.
Это класс WebSocket реализует IDisposable, но, похоже, не имеет метода Dispose.
Как это возможно? Я думал, что если вы реализуете интерфейс, вам также придется реализовать все его свойства/методы.Класс, который реализует IDisposable без функции Dispose?

Screenshot

+1

Явное реализован. См. Https://github.com/sta/websocket-sharp/blob/master/websocket-sharp/WebSocket.cs#L3073 (и http://stackoverflow.com/questions/4103300/why-implement-interface-explicitly) – haim770

+0

Просто идея, может быть, кто-то может это подтвердить - если метод интерфейса реализован явно («явная реализация интерфейса»), будет ли он отображаться здесь? Возможно, это так. –

+0

Он имеет явную реализацию и имеет метод Close(). Это обычная картина. –

ответ

4

На GitHub в source:

#region Explicit Interface Implementations 

/// <summary> 
/// Closes the WebSocket connection, and releases all associated resources. 
/// </summary> 
/// <remarks> 
/// This method closes the connection with <see cref="CloseStatusCode.Away"/>. 
/// </remarks> 
void IDisposable.Dispose() 
{ 
    close (new CloseEventArgs (CloseStatusCode.Away), true, true, false); 
} 

#endregion 
+0

Спасибо, очень интересно! –

Смежные вопросы