Ошибка использования using(void method())

121
30 апреля 2018, 23:07

Не могу понять ошибки в строке - using(Timer.Start())

using System;

namespace Memory.Timers
{
    public class Timer : IDisposable
    {
        public Timer t1 = new Timer();
        private bool disposed = false;

        public void Start()
        {
            t1.Start();
        }
        public void Dispose()
        {
            t1.Dispose();
        }
    }

    public class Class
    {
        public void WorkInSimplestCase()
        {
            using(Timer.Start())  //Ошибка 1 -
                                    An object reference is required for 
                                    the non-static field...
                                  //Ошибка 2 -
                                    'void': type used in a using 
                                    statement must be implicitly 
                                    convertible to 'System.IDisposable*
            {
            }
        }
   }
}

Насколько я понял, компилятор пишет, что нужен Disposable в классе, хотя он у меня есть. И требует нестатические методы и поля, хотя они у меня и так нестатические.

Answer 1

Почитайте об использовании конструкции using.

В вашем случае код должен выглядеть так:

using(var timer = new Timer())
{
    timer.Start();
}
READ ALSO
WCF - Рассылка сообщений сервером

WCF - Рассылка сообщений сервером

Клиенты должны получать сообщение(одинаковое), которое рассылается с сервера, как можно это реализовать? Понимаю когда клиент может получать...

155
Эмуляция клавиатуры и мыши

Эмуляция клавиатуры и мыши

Как имитировать действия мышки и клавиатуры ?

178
Перегрузка индексатора статического класса

Перегрузка индексатора статического класса

Хотелось бы в своей программе на C# создать класс, к которому можно обратиться по типу ClassName[i], те

117