Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 14 additions & 6 deletions ClosestNumber.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,22 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;

namespace Reflection
{
public class ClosestNumber
{

public string Name;
public ClosestNumber()
{
Console.WriteLine("Default Constructor Created");
}
public ClosestNumber(string name)
{
Name = name;
Console.WriteLine("Parameterized Constructor Created and passed Parameter is " + Name);
}
public static void FindNumber()
{
int c1 =0;
Expand All @@ -30,7 +40,7 @@ public static void FindNumber()
if (FindEvenDigitNumber(closenumber))
{
c1 = closenumber;
Console.WriteLine("The Closest Even Digit Number of the given input is " + c1);
Console.WriteLine("Below Closest Even Digit Number of the given input is " + c1);
break;
}
}
Expand All @@ -42,16 +52,14 @@ public static void FindNumber()
{
c2 = closenumber;

Console.WriteLine("The Closest Even Digit Number of the given input is " + c2);
Console.WriteLine("Above Closest Even Digit Number of the given input is " + c2);

break;
}
}
var val1 = Math.Abs(c1 - N);
var val2 = Math.Abs(c2 - N);
Console.WriteLine("The closest Even digit Number of given input is" +(val1 == val2 ? 0 : (val1 < val2 ? c1 : c2)));


Console.WriteLine("The closest Even digit Number of given input is" + (val1 < val2 ? c1 : c2));
}

private static bool FindEvenDigitNumber(int number)
Expand Down
41 changes: 39 additions & 2 deletions Program.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,47 @@
namespace Reflection
using System.Reflection;

namespace Reflection
{
public class Program
{
public static void Main(string[] args)
{
ClosestNumber.FindNumber();
Console.WriteLine("Select your choice from:\n" +
"1. To find Closest Even number with all even digit.\n" +
"2. Fetch all class members (like methods, constructors,properties) using reflection.\n" +
"3. Create empty object (default constructor) of above class using reflection.\n" +
"4. Create parameterized object using reflection.\n");
int ch = Convert.ToInt32(Console.ReadLine());
switch (ch)
{
case 1:
ClosestNumber.FindNumber();
break;
case 2:
Console.WriteLine("----------Fetch all Class Methods using Reflection.-----------");
Type type = typeof(ClosestNumber);
MemberInfo[] members = type.GetMembers();

foreach (MemberInfo member in members)
{
Console.WriteLine(member);
}
break;
case 3:
Console.WriteLine("--------Create empty object----------");
Type type1 = typeof(ClosestNumber);
object obj = Activator.CreateInstance(type1);
Console.WriteLine(obj.GetType().Name);
break;
case 4:
Console.WriteLine("--------Create Parameterized Constructor--------");
Type type2 = typeof(ClosestNumber);
object name = "Sneha";
object parameterizedObj = Activator.CreateInstance(type2, name);
Console.WriteLine(parameterizedObj.GetType().Name);
break;
}

}
}
}