DoSomething что это?

250
29 августа 2017, 09:20

Разбираю тест там такой вопрос: Какие утверждения верны для типа X.

using (var x = new X())
{ x.DoSomething(); }

и варианты ответов (можно выбрать несколько)

  1. тип X может быть структурой, которая реализует IDisposable интерфейс
  2. тип X должен реализовать IDisposable интерфейс
  3. тип X должен удовлетворять только одному требованию: иметь метод Dispose
  4. тип X должен удовлетворять только двум требованиям: быть классом и иметь метод Dispose

А в интернете ничего про этот DoSomething нигде не пишут. Может кто подскажет что это значит?

Answer 1

А вы не смотрите на DoSomething -- вопрос не про это, а про конструкцию using. DoSomething() -- это просто некоторый метод, видно по названию. Могло бы быть и Foo() и Bar().

Ответы 3 и 4 можно отбросить сразу: такой вариант даже не скомпилируется.

void Main()
{
    using (var x = new X())
    {
        x.DoSomething();
    }
}
// Define other methods and classes here
public class X // : IDisposable
{
    public void DoSomething()
    {
        Console.WriteLine("DoSomething");
    }
    public void Dispose()
    {
        Console.WriteLine("Dispose");
    }
}

Ошибка:

CS1674 type used in a using statement must be implicitly convertible to 'System.IDisposable'

Остаётся выбор между вариантом 1 и 2. В общем-то ничего не запрещает использовать структуру (спасибо, @VladD!), однако необходимым и достаточным условием является условие 2.

Update. Кстати, я тут пишу "ответ 2", но я не прочитал в условии что могут быть несколько вариантов верными. Если так -- тогда нужно и 1 и 2 отметить.

READ ALSO
Не срабатывает checkbox

Не срабатывает checkbox

Не срабатывает checkbox, на котором висит v-model:

322
Проблемы с console.log

Проблемы с console.log

В консоли ничего не отображается(версия браузера последняя, с кодировкой все порядке, файл с расширениемhtml)

230
Проблема при создании калькулятора

Проблема при создании калькулятора

Проблема в том, что при сложение двух чисел (создается сначала первое, потом при нажатии плюса, минуса, делить или умножить создается второе,...

188
Зачем в meteor js 1.5 вставки import?

Зачем в meteor js 1.5 вставки import?

Во всех файлах по умолчанию указывается вначале:

216