ошибки использования таймера в C # - PullRequest
0 голосов
/ 15 ноября 2011

Я использую Microsoft Visual C # 2010 Express.У меня не было доступа к шаблону Windows Services, поэтому я скачал один онлайн.Я пытаюсь внедрить таймер в свой проект и получаю следующие ошибки:

Ошибка 1 Недопустимый токен '=' в объявлении члена класса, структуры или интерфейса C: \ Documents and Settings \bruser \ Мои документы \ Visual Studio 2010 \ Projects \ WindowsService \ Service1.cs 19 23 windowsservice

Ошибка 2 Метод должен иметь тип возврата C: \ Documents and Settings \ bruser \ Мои документы \ Visual Studio 2010 \ Projects\ WindowsService \ Service1.cs 19 29 windowsservice

Ошибка 3 Не удалось найти тип или имя пространства имен «таймер» (отсутствует директива об использовании или ссылка на сборку?) C: \ Documents and Settings \ bruser\ Мои документы \ Visual Studio 2010 \ Projects \ WindowsService \ Service1.cs 19 17 windowsservice

Ошибка 4 Имя «таймер» не существует в текущем контексте C: \ Documents and Settings \ bruser \ Мои документы \Visual Studio 2010 \ Projects \ WindowsService \ Service1.cs 23 4 windowsservice

Ошибка 5 Имя «OnElapsedTime» не существует в current context C: \ Documents and Settings \ bruser \ Мои документы \ Visual Studio 2010 \ Projects \ WindowsService \ Service1.cs 23 45 windowsservice

Ошибка 6 Имя «таймер» не существует в текущем контексте C:\ Documents and Settings \ bruser \ Мои документы \ Visual Studio 2010 \ Projects \ WindowsService \ Service1.cs 24 13 windowsservice

Ошибка 7 Имя «таймер» не существует в текущем контексте C: \ Documents and Settings\ bruser \ Мои документы \ Visual Studio 2010 \ Projects \ WindowsService \ Service1.cs 25 13 windowsservice

Service1.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;
using System.Text;
using System.Timers; 

namespace SendFax
{
public partial class Service1: ServiceBase
{
    public Service1()
    {
        InitializeComponent();
    }

    private timer = new Timer();

    protected override void OnStart(string[] args)
    {
        timer.Elapsed += new ElapsedEventHandler(OnElapsedTime);
        timer.Interval = 30000; // every 30 seconds
        timer.Enabled = true;

    }

    protected override void OnStop()
    {
        // TODO: Add code here to perform any tear-down necessary to stop your service.
    }
    }
    }

Пространство имен в Program.cs и Service1.cs были названы $ SaveNamespace $.Итак, я изменил их обоих на SendFax.Должны ли эти два файла иметь отдельные имена пространств имен?

Я изменил onElapsedTime на Tick.Должны ли пространства имен иметь разные имена в Program.cs и Service1.cs?

Ответы [ 4 ]

4 голосов
/ 15 ноября 2011

Здесь вам не указан тип переменной.

private timer = new Timer();

Попробуйте:

private Timer timer = new Timer();
1 голос
/ 15 ноября 2011

Возможно, есть другие ошибки, но вы забыли ввести таймер

private Timer timer = new Timer();
1 голос
/ 15 ноября 2011

Переменная, которую вы объявляете, timer не имеет типа данных.

1 голос
/ 15 ноября 2011

Вы не определили тип переменной timer.Правильный синтаксис выглядит так:

 private Timer timer = new Timer();
...