127 lines
2.0 KiB
C#
127 lines
2.0 KiB
C#
using System;
|
|
using System.Reflection;
|
|
|
|
namespace Extend_your_language
|
|
{
|
|
|
|
|
|
class Program
|
|
{
|
|
|
|
public static void Main(string[] args)
|
|
{
|
|
Console.WriteLine();
|
|
Console.WriteLine("Hello World!");
|
|
Console.WriteLine();
|
|
|
|
int x = 0;
|
|
int y = 0;
|
|
|
|
for(x=0;x<2;x++)
|
|
{
|
|
for(y=0;y<2;y++)
|
|
{
|
|
|
|
CONDITIONS( (x==0) , (y==0) ).
|
|
IF2 ("METHOD1").
|
|
ELSE1("METHOD2").
|
|
ELSE2("METHOD3").
|
|
ELSE ("METHOD4");
|
|
|
|
}
|
|
}
|
|
|
|
Console.WriteLine();
|
|
Console.Write("Press any key to continue . . . ");
|
|
Console.ReadKey(true);
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void METHOD1()
|
|
{
|
|
Console.WriteLine("METHOD 1 executed - both are true");
|
|
}
|
|
|
|
public static void METHOD2()
|
|
{
|
|
Console.WriteLine("METHOD 2 executed - first is true");
|
|
}
|
|
|
|
public static void METHOD3()
|
|
{
|
|
Console.WriteLine("METHOD 3 executed - second is true");
|
|
}
|
|
|
|
public static void METHOD4()
|
|
{
|
|
Console.WriteLine("METHOD 4 executed - both are false");
|
|
}
|
|
|
|
|
|
static int CONDITIONS(bool condition1, bool condition2)
|
|
{
|
|
int c = 0;
|
|
if(condition1 && condition2)
|
|
c = 0;
|
|
else if(condition1)
|
|
c = 1;
|
|
else if(condition2)
|
|
c = 2;
|
|
else
|
|
c = 3;
|
|
|
|
return c;
|
|
}
|
|
}
|
|
|
|
|
|
public static class ExtensionMethods
|
|
{
|
|
|
|
public static int IF2(this int value, string method)
|
|
{
|
|
if(value == 0)
|
|
{
|
|
MethodInfo m = typeof(Program).GetMethod(method);
|
|
m.Invoke(null,null);
|
|
}
|
|
|
|
return value;
|
|
}
|
|
|
|
public static int ELSE1(this int value, string method)
|
|
{
|
|
if(value == 1)
|
|
{
|
|
MethodInfo m = typeof(Program).GetMethod(method);
|
|
m.Invoke(null,null);
|
|
}
|
|
|
|
return value;
|
|
}
|
|
|
|
public static int ELSE2(this int value, string method)
|
|
{
|
|
if(value == 2)
|
|
{
|
|
MethodInfo m = typeof(Program).GetMethod(method);
|
|
m.Invoke(null,null);
|
|
}
|
|
|
|
return value;
|
|
}
|
|
|
|
public static void ELSE(this int value, string method)
|
|
{
|
|
if(value == 3)
|
|
{
|
|
MethodInfo m = typeof(Program).GetMethod(method);
|
|
m.Invoke(null,null);
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|