private void genericsExample_Click(object sender, RoutedEventArgs e) { DataStore <string> store = new DataStore <string>(); store.Data = "string only"; //store.Data = 321;//this fails because once you initialized it with a certain data type, you can not change it again to different data type DataStore <double> market = new DataStore <double>(); market.Data = 321.45; KeyValuePair <int, string> kvp1 = new KeyValuePair <int, string>(); kvp1.Key = 100; kvp1.Value = "Hundred"; KeyValuePair <string, string> kvp2 = new KeyValuePair <string, string>(); kvp2.Key = "IT"; kvp2.Value = "Information Technology"; DataStore_v2 <int> test = new DataStore_v2 <int>(); test.data = 432432; GenericMethods <float> myGenericDataHolder = new GenericMethods <float>(); myGenericDataHolder.AddOrUpdate(0, 32.32112F); myGenericDataHolder.AddOrUpdate(0, 52.32112F); var vrDEfault = myGenericDataHolder.GetData(3212); GenericMethods <string> genericStringsHolder = new GenericMethods <string>(); genericStringsHolder.AddOrUpdate(0, 32.32112F.ToString()); genericStringsHolder.AddOrUpdate(0, 52.32112F.ToString()); var vrDEfaultString = genericStringsHolder.GetData(3212); genericMethodOverloadings <double> vrOverloads = new genericMethodOverloadings <double>(); vrOverloads.AddOrUpdate(32, 123.0); //number 1 vrOverloads.AddOrUpdate <int>(32, 123); //number 3 vrOverloads.AddOrUpdate(32.0, 123.0); //number 2 vrOverloads.AddOrUpdate(321); //number 4 CultureInfo.CurrentCulture = new CultureInfo("en-US"); Printer printClass = new MainWindow.Printer(); printClass.Print <int, double>("Example", "Student", 23, 87.32); Printer printClass2 = new MainWindow.Printer(); printClass.Print <double, int>("Example 2", "Student", 23.32, 87); }