Как TcpClient могут реализовать IDisposable и не иметь общественность, Располагают метод?

Так же, как в заголовке говорится:

Как TcpClient могут реализовать IDisposable и не иметь общественность, Располагают метод?

15
задан Oded 24 February 2010 в 11:37
поделиться

2 ответа

By using explicit interface implementation. Вместо

public void Dispose()
{
    ...
}

это будет

void IDisposable.Dispose()
{
    ...
}

Различные другие типы делают это; иногда это вызвано необходимостью (например, поддержка IEnumerable.GetEnumerator и IEnumerable.GetEnumerator), а в других случаях это делается для того, чтобы показать более подходящий API, когда конкретный тип известен.

11
ответ дан 1 December 2019 в 04:34
поделиться

При использовании явной реализации интерфейса . Вместо

public void Dispose()
{
    ...
}

он имел бы

void IDisposable.Dispose()
{
    ...
}

Различные другие типы делают это; иногда это происходит из-за необходимости (например, поддержка IEnumerable.GetEnumerator и IEnumerable < T > .GetEnumerator ), а в других случаях это для предоставления более подходящего API, когда конкретный тип известен.

-121--2616269-

Необходимо установить hibernate.hbm2ddl.auto для создания в persistence.xml. Если задано обновление в режиме гибернации, индексы создаваться не будут.

hibernate.hbm2ddl.auto = create

-121--3866247-

См. явная реализация интерфейса . Вы должны явно бросить случай TcpClient к IDisposable или обернуть его в использование () {...} блок. Обратите внимание, что классы, реализующие IDisposable явно, часто предоставляют открытый метод Close () вместо

3
ответ дан 1 December 2019 в 04:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: