博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Topshelf创建Windows服务(转)
阅读量:6841 次
发布时间:2019-06-26

本文共 2434 字,大约阅读时间需要 8 分钟。

Calculator
public class Calculator : ICalculator    {        public Calculator()        {            Logger = LogManager.GetCurrentClassLogger();        }        public ILogger Logger { get; set; }        public CalculationResult Add(string n1, string n2)        {            Logger?.Info($"received request to Add {n1} to {n2}");                       return Calculate(n1, n2, _add);        }        public CalculationResult Subtract(string n1, string n2)        {            Logger?.Info($"received request to Subtract {n2} from {n1}");                        return Calculate(n1, n2, _subtract);        }        public CalculationResult Multiply(string n1, string n2)        {            Logger?.Info($"received request to Multiply {n1} by {n2}");                        return Calculate(n1, n2, _multiply);        }        public CalculationResult Divide(string n1, string n2)        {            Logger?.Info($"received request to Divide {n1} by {n2}");                       return Calculate(n1, n2, _divide);        }        private static CalculationResult Calculate(string n1, string n2, Func
calculate) { var value1 = n1.ToDouble(); if (!value1.HasValue) { return GetCouldNotConvertToDoubleResult(n1); } var value2 = n2.ToDouble(); if (!value2.HasValue) { return GetCouldNotConvertToDoubleResult(n2); } double result = calculate(value1.Value, value2.Value); return new CalculationResult { Answer = result }; } private static readonly Func
_add = (value1, value2) => value1 + value2; private static readonly Func
_subtract = (value1, value2) => value1 - value2; private static readonly Func
_multiply = (value1, value2) => value1 * value2; private static readonly Func
_divide = (value1, value2) => value2 == 0 ? double.NaN : value1 / value2; private static CalculationResult GetCouldNotConvertToDoubleResult(string input) { return new CalculationResult { Message = $"Could not convert '{input}' to a double" }; } }

 

 

https://github.com/NotMyself/CalculatorService.git

http://www.cnblogs.com/jys509/p/4614975.html

 

你可能感兴趣的文章
《C语言编程魔法书:基于C11标准》——2.9 本章小结
查看>>
《移动数据挖掘》—— 1.4 本书简介
查看>>
菲尔兹奖得主维拉尼:七个点子帮你找到科研灵感
查看>>
《C语言程序设计与实践(第2版)》——导读
查看>>
《计算机科学概论(第12版)》—第1章1.4节用位模式表示信息
查看>>
C2B前还有S2b,阿里携手产学研探索新零售时代的供应链未来
查看>>
Linux集群和自动化维2.4.2 sed的用法示例
查看>>
《OpenGL ES 3.x游戏开发(上卷)》一1.2 搭建Android开发环境
查看>>
《HTML5实战》——2.6 小结
查看>>
使用 Python 和 Asyncio 编写在线多人游戏(三)
查看>>
yanf4j 1.0-stable的一个压测报告
查看>>
Square 技术团队的开源其 Vim 配置文件
查看>>
《Java编码指南:编写安全可靠程序的75条建议》—— 指南6:正确地编码或转义输出...
查看>>
阿里NASA的液冷黑科技 | 彻底激活未来AI大脑超能力
查看>>
stack源码分析
查看>>
Java内存溢出(OOM)异常完全指南
查看>>
云计算十字真言及其在小博无线的实践
查看>>
用一生回味的经典语录
查看>>
你的命运不是一头骡子
查看>>
排序算法之鸽巢排序
查看>>