Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Ошика при создании экземпляра события


Автор: LOPUH 16.11.2008, 19:35
  Для пробы решил реализовать событие, связанное с системным временем.  Событие должно происходить в каждую четную минуту часа.
Код

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace EventTest
{
    static class Program
    {
        
        

         class Sheduler
        {
            public event EventHandler Tick;
            public void OnTick()
            {
                DateTime dt = DateTime.Now;
                if (dt.Minute % 2 == 0 && dt.Second == 0)
                    Tick(this, EventArgs.Empty);
            }
            
             [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Tick tk = new Tick();//  ошибка
                Application.Run(new Form1());
            }
        }

    }
}



При компиляции  при попытке создать экземпляр класса события  выскакивает ошибка:
Код

Ошибка    1    "EventTest.Program.Sheduler.Tick" является "поле", но используется как "тип"    
 
 Подскажите в  чем проблема и как ее исправить?

Автор: VisualProgrammerNET 16.11.2008, 20:09
а чё такое за конструкция event EventHandler, и где делегат события? =)

рекоммендую: http://msdn.microsoft.com/en-us/library/aa645739(VS.71).aspx

Автор: LOPUH 16.11.2008, 21:06
Цитата(VisualProgrammerNET @  17.11.2008,  01:09 Найти цитируемый пост)
а чё такое за конструкция event EventHandler, и где делегат события? =)

Как я понял http://msdn.microsoft.com/en-us/library/system.eventhandler(VS.71).aspx EventHandler -это шаблонный делегат .NET  Framework
Код

[C#]
[Serializable]
public delegate void EventHandler(
   object sender,
   EventArgs e
);


Автор: QryStaL 16.11.2008, 22:35
LOPUH, событие - это синтаксическая конструкция, представляющая собой 1 поле и 2 метода. Понятия "экземпляр события" не существует. Почитайте МСДН или Троелсена по событиям и делегатам.

Автор: jorikdima 17.11.2008, 10:26
LOPUH, действительно судя по коду у вас нету понимания работы с событиями. Что хотели сделать, а то из кода не понять?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)