/
EugenyCh7
/
CodeDOMTest
Обзор
Документация
Войти
/
EugenyCh7
/
CodeDOMTest
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
InstructionEncoderTest
OpCodesEmit/Builder.cs
108 строк
2 KB
eugenych
class Builder
04 авг 2023, 20:25
04 авг 2023, 20:25
2f734d1
Код
Авторство
О чём код?
using System.Diagnostics; namespace EmitMethodSample { public interface IBuilder { float Sum(int firstnum, int secondnum); float Substract(int firstnum, int secondnum); float Multiply(int firstnum, int secondnum); float Divide(int firstnum, int secondnum); } public class Builder : IBuilder { #region Event public delegate void BuilderDelegate(string message); public event BuilderDelegate InvokeMessage; public virtual void OnInvokeMessage(string message) { if (this.InvokeMessage != null) this.InvokeMessage(message); } #endregion Event #region Fields private int firstNum, secondNum; public int FirstNum { [DebuggerStepThrough()] get { return this.firstNum; } set { this.firstNum = value; } } [DebuggerBrowsable(DebuggerBrowsableState.Never)] public int SecondNum { get { return this.secondNum; } set { this.secondNum = value; } } #endregion Fields #region Constructors public Builder(int firstnum, int secondnum) { this.FirstNum = firstnum; this.SecondNum = secondnum; } #endregion Constructors #region IBuilder Members public float Sum(int firstnum, int secondnum) { return firstnum + secondnum; } public float Substract(int firstnum, int secondnum) { return firstnum - secondnum; } public float Multiply(int firstnum, int secondnum) { return firstnum * secondnum; } public float Divide(int firstnum, int secondnum) { try { return firstnum / secondnum; } catch (DivideByZeroException ex) { Console.WriteLine("ZeroDivide exception : {0}", ex.Message); return 0; } } #endregion IBuilder Members #region Methods public float GetProduct() { return this.Multiply(this.FirstNum, this.secondNum); } public override string ToString() { return string.Format("FirstNum : {0}, SecondNum : {1}", this.FirstNum, this.SecondNum); } #endregion Methods } }