c#事件
来源:互联网 发布:qq三国79js 79xs 编辑:程序博客网 时间:2024/05/29 19:43
using System;using System.IO;namespace BoilerEventApp1{ class Boiler { private int temp; private int pressure; public Boiler(int t,int p) { temp = t; pressure = p; } public int getTemp() { return temp; } public int getPressure() { return pressure; } } class DelegateBoilerEvent { public delegate void BoilerLogHandler(string status); public event BoilerLogHandler BoilerEventLog; public void LogProcess() { string remarks = "0.K"; Boiler b = new Boiler(100, 12); int t = b.getTemp(); int p = b.getPressure(); if(t>150||t<80||p<12||p>15) { remarks = "Nedd Maintenance"; } OnBilerEventLog("Logging Info:\n"); OnBilerEventLog("Temparature:" + "\t" + t + "\nPressure:" + p); OnBilerEventLog("\nMessage:" + remarks); } protected void OnBilerEventLog(string message) { if(BoilerEventLog!=null) { BoilerEventLog(message); } } } class BoilerInfoLogger { FileStream fs; StreamWriter sw; public BoilerInfoLogger(string filename) { fs = new FileStream(filename,FileMode.Append,FileAccess.Write); sw = new StreamWriter(fs); } public void Logger(string info) { sw.WriteLine(info); sw.Flush(); } public void Close() { sw.Close(); fs.Close(); } } public class RecordBoilerInfo { static void Logger(string info) { Console.WriteLine(info); } static void Main() { BoilerInfoLogger filelog = new BoilerInfoLogger("e:\\boiler.txt"); DelegateBoilerEvent boilerEvent = new DelegateBoilerEvent(); boilerEvent.BoilerEventLog += new DelegateBoilerEvent.BoilerLogHandler(Logger); boilerEvent.BoilerEventLog += new DelegateBoilerEvent.BoilerLogHandler(filelog.Logger); boilerEvent.LogProcess(); Console.ReadLine(); filelog.Close(); Console.ReadKey(); } }}
阅读全文
0 0
- c#事件
- c#事件
- C#事件
- c#事件
- C#事件
- C#事件
- c#事件
- C#事件
- c#事件
- C#事件
- c#事件
- C#事件
- c# 事件
- C#事件
- C#事件
- C# 事件
- C#事件
- c# 事件
- 51nod1799 二分答案
- 对《我的管家》项目进行整理
- studio和Eclipse分别生成jar包并混淆jar包
- Intellij IDEA 实用技巧
- Pycharm和Anaconda中如何安装package
- c#事件
- 如何设置微信小程序编译时的启动页?
- Java 通过HttpClient 带证书方式请求Https协议网站 (Post方式带xml文档,Get以及Delete方式)
- Mysql-5.5.32 cmake安装
- cf 402c Searching for Graph
- window->注册界面获取API(常用)
- 好奇宝宝对于灰度了解的随笔
- SSM框架基础配置
- WebView获取JS返回值