Рихтер, интерфейсы - C#
Формулировка задачи:
static void Main(string[] args) { Base b = new Base(); b.Dispose(); ////*Вызов*реализации*Dispose*в*типе*b:*"Dispose*класса*Base" ((IDisposable)b).Dispose(); ////*Вызов*реализации*Dispose*в*типе*объекта*b:*"Dispose*класса*Base" } internal class Base : IDisposable { public void Dispose() { Console.WriteLine("Base's*Dispose"); } }
((IDisposable)b).Dispose(); означает что к b можно применить только методы интерфейса IDisposable и типа*Object?
Решение задачи: «Рихтер, интерфейсы»
textual
Листинг программы
namespace ConsoleApplication279 { using System; internal class Program { private static void Main() { var foo = new Foo(); foo.Dispose(); ((IDisposable) foo).Dispose(); IDisposable disposable = new Foo(); disposable.Dispose(); } } public class Foo : IDisposable { void IDisposable.Dispose() { } public void Dispose() { } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д