Deutsch

Вопросы по ПЛК

30.01.24 04:15
Re: Вопросы по ПЛК
 
uscheswoi_82 коренной житель
uscheswoi_82

А как бы это выглядело на C#? Вот простой пример:

Код Program.cs:

using System;
namespace Aufzug2 {
   class Program {
        // Метод срабатывает, когда происходит срабатывание события
        public static void MyAufzugEvent(object sender, AufzugMove e) {
            Console.WriteLine("Der Aufzug befindet sich auf " + e.etage + " Etage."); // Отображаем Der Aufzug befindet sich auf ..- Etage.
        }
        public static void Main(string[] args) {
            var aufzug = new Aufzug(); // Наш лифт
            aufzug.AufzugMoveEvent += MyAufzugEvent; // Обработчик событий
            aufzug.Move(1); // Посылаем лифт на 1-й этаж
            Console.ReadLine(); // Ожидаем назжатия клавиши Enter/Return
        }
   }
}


Код AufzugGeraet.cs:

using System;

public class AufzugMove : EventArgs {
 public int etage { get; set; }
}

public interface IMyInterface {
    event EventHandler<AufzugMove> AufzugMoveEvent;
}

public class Aufzug : IMyInterface {
    public event EventHandler<AufzugMove> AufzugMoveEvent;

    public void Move(int etage) {
       AufzugMoveEvent.Invoke(this, new AufzugMove { etage = etage });
    }
}

Для задержки лифта, имхо можно было бы в принципе использовать Thread.Sleep.

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
 

Перейти на