Generics.
namespace BrackeysGenericsVideo
{ // video time is 11:14
class Program {
static void Main(string[] args) {
WriteLine(Utility.CompareValues(1, 2)); // False
WriteLine(Utility.CompareValues(5, 5)); // True
WriteLine(Utility.CompareValues(5, 5.0)); // False
WriteLine(Utility.CompareValues(false,false)); // True
WriteLine("");
WriteLine(Utility.CompareTypes(1, 2)); // True
WriteLine(Utility.CompareTypes("hello", 2)); // False
WriteLine(Utility.CompareValues(5, 5.0)); // False
ReadKey();
} // what if you used your custom objects, cow, chicken...
}
// This method below would be better placed into a
// class library with other utilities.
public class Utility {
// a method that checks if two unknown
// types are equal and returns a bool
public static bool CompareValues<T1, T2>(T1 value1, T2 value2)
{
return value1.Equals(value2);
}
public static bool CompareTypes<T1, T2>(T1 type1, T2 type2)
{
return typeof(T1).Equals(typeof(T2));
}
}
}