Если вы только подписываетесь один раз, не имеет значения как много раз вы отписываетесь - отмена подписки, когда у вас нет подписки, запрещена. Точно так же, весь смысл API событий в том, что вы не можете случайно отписаться от других подписок (других типов или других экземпляров того же типа).
Таким образом, показанный код должен быть в порядке, хотя, возможно, стоит перенести два вызова в один метод, который обрабатывает это. Хотя это может быть излишним.
Кроме того, если ваш тип IDisposable
, убедитесь, что он также вызывается в этом пути кода (предположительно, путем вызова Close()
).