bjartesi Skrevet 9. juni 2009 Del Skrevet 9. juni 2009 Jeg er i en tidlig fase for å lære meg om delegates og events. I den forbindelse tenker jeg å lage en tenkt løsning som skal overvåke ulike maskiner. Programmet kan motta events fra maskinene om f.eks høyt trykk eller temp. Det skal sendes ut en allarm og etter en stund skal maskinen stoppes. Jeg har begynt å fundere på det stoppet etter hvert opp. Noen som har råd og tips til hvordan dette skal løses? Det er ikke snakk om noen avansert løsning, bare enklest mulig for å skjønne poenget. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace Test { class Program { static void Main(string[] args) { Console.ReadKey(true); } } class Overvåker { public delegate void stoppMaskinerDelegate(); public event stoppMaskinerDelegate maskinTemp; public event stoppMaskinerDelegate maskinOljetrykk; public event stoppMaskinerDelegate maskinFeil; public Overvåker() { } private void Notify() { if (this.maskinTemp != null) { this.maskinTemp(); } if (this.maskinOljetrykk != null) { this.maskinOljetrykk(); } if (this.maskinFeil != null) { this.maskinFeil(); } } public void Start() //Abonner: { } public void Stopp() //Ikke abonner { } } class Dreiemaskin { private Dreiemaskin dreier; } class Sveisemaskin { private Sveisemaskin sveiser; } class Lakkeringsmaskin { private Lakkeringsmaskin lakkerer; } } Lenke til kommentar
GeirGrusom Skrevet 10. juni 2009 Del Skrevet 10. juni 2009 public delegate void TomDelegate(); public class Maskin { public event TomDelegate FingreSitterFast(); public void MaskinGår() { if(bruker.sinefingre.Posisjon < (this.posisjon + størrelse)) OnFingreSitterFast(); } protected virtual void OnFingreSitterFast() { if(FingreSitterFast != null) FingreSitterFast(); } } public static class Program { Maskin dreiemaskin; public static void Main(string[] args) { dreiemaskin = new Maskin(); dreiemaskin.FingreSitterFast += new TomDelegate(this.SattFastFingrene); dreiemaskin.MaskinGår(); } public void SattFastFingrene() { MessageBox.Show("Au!"); } } Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå