static void Main(string[] args) { MyClass myClass = new MyClass(); MyClass.LogHandler mylog = new MyClass.LogHandler(Logger); myClass.Process(mylog); }
static void Main(string[] args) { FileLogger fl = new FileLogger("c:\\GitHub\\process.log"); MyClass myClass = new MyClass(); MyClass.LogHandler myLogger = fl.Logger; myClass.Process(myLogger); fl.Close(); }
static void Main(string[] args) { MyClass myClass = new MyClass(); // Crate an instance of the delegate, pointing to the logging function. // This delegate will then be passed to the Process() function. MyClass.LogHandler myLogger = new MyClass.LogHandler(Logger); myClass.Process(myLogger); }
public static void Main() { FileLogger fl = new FileLogger("process.log"); MyClass myClass = new MyClass(); MyClass.LogHandler lh = new MyClass.LogHandler(fl.Logger); myClass.Process(lh); fl.Close(); }
static void Main(string[] args) { FileLogger fl = new FileLogger("process.log"); MyClass myClass = new MyClass(); // Crate an instance of the delegate, pointing to the Logger() // function on the fl instance of a FileLogger. MyClass.LogHandler myLogger = new MyClass.LogHandler(fl.Logger); myClass.Process(myLogger); fl.Close(); }
static void Main(string[] args) { FileLogger fl = new FileLogger("process.log"); // has the target method MyClass myClass = new MyClass(); // has the caller method(delegate) // Create an instance of the delegate, pointing to the Logger() MyClass.LogHandler myLoggerDelegate = new MyClass.LogHandler(fl.Logger); myClass.Process(myLoggerDelegate); fl.Close(); Console.ReadLine(); }
static void Main(string[] args) { //Multicasting of a Delegate MyLogger myLogger = new MyLogger(); MyClass myClass = new MyClass(); MyClass.LogHandler logHandler = null; logHandler += new MyClass.LogHandler(Logger); logHandler += new MyClass.LogHandler(myLogger.Logger); myClass.Process(logHandler); return; }
static void Main(string[] args) { FileLogger fl = new FileLogger("process.log"); MyClass myClass = new MyClass(); // Crate an instance of the delegates, pointing to the static // Logger() function defined in the TestApplication class and // then to member function on the fl instance of a FileLogger. MyClass.LogHandler myLogger = null; myLogger += new MyClass.LogHandler(Logger); myLogger += new MyClass.LogHandler(fl.Logger); myClass.Process(myLogger); fl.Close(); }
static void Main() { MyClass myClass = new MyClass(); MathActions1 m1 = new MathActions1(Sum); Console.WriteLine(m1(3, 5)); m1 += new MathActions1(Multiyply); Console.WriteLine(m1(3, 5)); MathActions2 m2 = new MathActions2(Devide); Console.WriteLine(m2(3.53, 6.45)); m2 += new MathActions2(Average); Console.WriteLine("{0} {1}", m2(3.53, 6.45), m2(3.53, 6.45)); //it invokes only the last function that is added because it has return value Console.WriteLine("_______________________________"); MathActions1 m3 = new MathActions1(Multiyply); MathActions1 m4 = new MathActions1(Sum); FileLogger fl = new FileLogger(@"C:\Users\Ne0-Ge0\Desktop\process.log"); MyClass.LogHandler myLogger = new MyClass.LogHandler(fl.Logger); MyClass.Sum myProduct = new MyClass.Sum(m3); MyClass.Sum mySum = new MyClass.Sum(m4); MyClass.Sum mySum2 = new MyClass.Sum(m1); myLogger += new MyClass.LogHandler(Logger); myClass.Process(myLogger); //it invokes all the functions that are void Console.WriteLine(myClass.ProcessInt(myProduct)); Console.WriteLine(myClass.ProcessInt(mySum)); Console.WriteLine(myClass.ProcessInt(mySum2)); //it invokes only the last function that is added because it has return value fl.Close(); Console.ReadLine(); }
public static void Main(string[] args) { #region Telogis var myList = new List <Person>(); var person01 = new Person() { Id = 21, Age = 25, Name = "Name01" }; var person02 = new Person() { Id = 22, Age = 15, Name = "Name02" }; var person03 = new Person() { Id = 23, Age = 21, Name = "Name03" }; var person04 = new Person() { Id = 24, Age = 18, Name = "Name04" }; myList.Add(person01); myList.Add(person02); myList.Add(person03); myList.Add(person04); var newList = Person.MoreThanNYears(22, myList); #endregion #region types //int val1 = 0; //byte val2 = 15; //val1 = val2; //Console.WriteLine(val1.GetType()); //Console.WriteLine(val2.GetType()); //Console.WriteLine(12 + 12.5); //Console.WriteLine("12" + 12); //float a; //double b = 13.51234567; //int c; //a = (float)b; //c = (int)a; //Console.WriteLine(a); //Console.WriteLine(b); //Console.WriteLine(c); #endregion #region String //string name = "Jane"; //string name2 = name.Replace('J', 'K'); //string name3 = name2.Replace('n', 't'); //Console.WriteLine(name); //Console.WriteLine(name3); //StringBuilder sb = new StringBuilder("Jane"); //Console.WriteLine(sb); //sb.Replace('J', 'K', 0, 1); //sb.Replace('n', 't', 2, 1); //Console.WriteLine(sb); //char[] crs = { 'Z', 'e', 't', 'C', 'o', 'd', 'e' }; //String s = new String(crs); //Console.WriteLine(s); //char c1 = s[0]; //char c2 = s[(s.Length - 1)]; //Console.WriteLine(c1); //Console.WriteLine(c2); //string[] items = new string[] {"C#", "Visual Basic","Java", "Perl"}; //string langs = string.Join(",", items); //Console.WriteLine(langs); //string[] ls = langs.Split(','); //foreach (string lang in ls) //{ // Console.WriteLine(lang); //} //string str = "Determination"; //Console.WriteLine(str.Contains("e")); //Console.WriteLine(str.IndexOf("e")); //Console.WriteLine(str.LastIndexOf("i")); //Console.WriteLine(str.ToUpper()); //Console.WriteLine(str.ToLower()); #endregion // --delegate findall-- //List<int> list = new List<int>() { 3, 2, 1, 8, 6, 4, 7, 9, 5 }; //List<int> sublist = list.FindAll(delegate (int i) { return i > 3; }); //foreach (int i in sublist) //{ // Console.WriteLine(i); //} //-- continue -- //int num = 0; //while (num < 1000) //{ // num++; // if ((num % 2) == 0) // continue; // Console.Write(num + " "); //} #region OOP // --Access modifiers-- //var dog = new Dog(1, "rex", "yellow"); //dog.Legs = 3; //dog.SetFather("Kevin"); //Console.WriteLine("Test const:" + Dog.eyes.ToString()); // --inheritance-- //new Human(); //Dog2 dog2 = new Dog2(); //dog2.GetCount(); // --Abstract classes and methods-- //Circle c = new Circle(12, 45, 22); //Console.WriteLine(c); //Console.WriteLine("Area of circle: {0}", c.Area()); //Console.WriteLine(c.GetCoordinates()); // --MultipleParams-- //Sum(1, 2, 3); //Sum(1, 2, 3, 4, 5); // --Recursion-- //Console.WriteLine(Factorial(6)); // --Hiding methods-- //Derived d = new Derived(); //d.Info(); #endregion // --seleadclass-- //DerivedMath dm = new DerivedMath(); //dm.Say(); // --Exception-- //int x = 340004; //const int LIMIT = 333; //try //{ // if (x > LIMIT) // { // throw new BigValueException("Exceeded the maximum value"); // } //} //catch (BigValueException e) //{ // Console.WriteLine(e.Message); //} // --Delegates-- // -- -- Simple -- -- //SimpleDelegate myDelegate = new SimpleDelegate(MyFunc); //OR SimpleDelegate myDelegate = MyFunc; myDelegate(); MyClass myClass = new MyClass(); // Crate an instance of the delegate, pointing to the logging function. // This delegate will then be passed to the Process() function. MyClass.LogHandler myLogger = new MyClass.LogHandler(Logger); myClass.Process(myLogger); //Multicast Delegate Mdelegate del = new Mdelegate(Oper.Add); del += new Mdelegate(Oper.Sub); del(6, 4); del -= new Mdelegate(Oper.Sub); del(2, 8); //Anonymous Delegate method Mdelegate mydel = delegate(int x, int y) { Console.WriteLine("Anonymous...x: " + x + " ..y:" + y); }; mydel(1, 2); //As a parameter DoOperation(4, 2, Multiply); DoOperation(40, 4, Divide); Console.Write('\n'); Console.ReadLine(); }