У меня есть ситуация, где я определяю интерфейс и затем использую это непосредственно, например:
Dim x as IWhatever = new implementationOfIWhatever()
Который прекрасен, но implementationOfIWhatever также реализует IDispoable, таким образом, я хочу смочь сделать x.Dispose
или идеально Using x
но получите ошибку, которую, которым это не объявляется или должно реализовать IDispoable, поскольку, конечно, не определяет IWhatever, Располагают или реализуют IDispoable.
Как я могу создать контракт, что IWhatever также реализует IDispoable, или разве я не могу сделать этого и должен добавить.Dispose к моему интерфейсу и признать, что не могу использовать Using
.
Сделайте I Все, что
наследует от IDisposable
. Это заставит implementationOfIWhatever
реализовать метод Dispose
, и это позволит вам использовать экземпляры IWhatever
с Using
.