using System;
using System.Collections.Generic;
using System.Linq;
//public interface IThing {}
public class MachineClass /* : IThing */ { }
public class AnimalClass /* : IThing */ { }
public class Plane /* : IThing */ { }
public class Program
{
public enum Things
{
Car,
Animal,
Plane
}
private static readonly IDictionary<Things, string> _classNameMap =
new Dictionary<Things, string> {
{ Things.Car, "MachineClass" },
{ Things.Animal, "AnimalClass" },
{ Things.Plane, "FlyClass" } };
public static void Main(string[] args)
{
var realtypes = _classNameMap.ToDictionary(
kvp => kvp.Key,
kvp => System.Type.GetType(/*"Namespace." +*/ kvp.Value));
Type dynamicType = realtypes[Things.Plane]; // typeof(Namespace.FlyClass)
foreach (var realtype in realtypes)
Console.WriteLine("{0}, class {1}",
realtype.Key, realtype.Value);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CgovL3B1YmxpYyBpbnRlcmZhY2UgSVRoaW5nIHt9IApwdWJsaWMgY2xhc3MgTWFjaGluZUNsYXNzIC8qIDogSVRoaW5nICovIHsgfQpwdWJsaWMgY2xhc3MgQW5pbWFsQ2xhc3MgIC8qIDogSVRoaW5nICovIHsgfQpwdWJsaWMgY2xhc3MgUGxhbmUgICAgICAgIC8qIDogSVRoaW5nICovIHsgfQoKcHVibGljIGNsYXNzIFByb2dyYW0KewogICAgIHB1YmxpYyBlbnVtIFRoaW5ncwogICAgIHsKICAgICAgICAgQ2FyLAogICAgICAgICBBbmltYWwsCiAgICAgICAgIFBsYW5lCiAgICAgfQoKICAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBJRGljdGlvbmFyeTxUaGluZ3MsIHN0cmluZz4gX2NsYXNzTmFtZU1hcCA9IAogICAgICAgICBuZXcgRGljdGlvbmFyeTxUaGluZ3MsIHN0cmluZz4gewogICAgICAgICAgeyBUaGluZ3MuQ2FyLCAgICAiTWFjaGluZUNsYXNzIiB9LAogICAgICAgICAgeyBUaGluZ3MuQW5pbWFsLCAiQW5pbWFsQ2xhc3MiICB9LAogICAgICAgICAgeyBUaGluZ3MuUGxhbmUsICAiRmx5Q2xhc3MiICAgICB9ICB9OwoKICAgICBwdWJsaWMgc3RhdGljIHZvaWQgTWFpbihzdHJpbmdbXSBhcmdzKQogICAgIHsKICAgICAgICAgdmFyIHJlYWx0eXBlcyA9IF9jbGFzc05hbWVNYXAuVG9EaWN0aW9uYXJ5KAogICAgICAgICAgICAgICAgIGt2cCA9PiBrdnAuS2V5LAogICAgICAgICAgICAgICAgIGt2cCA9PiBTeXN0ZW0uVHlwZS5HZXRUeXBlKC8qIk5hbWVzcGFjZS4iICsqLyBrdnAuVmFsdWUpKTsKCiAgICAgICAgIFR5cGUgZHluYW1pY1R5cGUgPSByZWFsdHlwZXNbVGhpbmdzLlBsYW5lXTsgLy8gdHlwZW9mKE5hbWVzcGFjZS5GbHlDbGFzcykKCiAgICAgICAgIGZvcmVhY2ggKHZhciByZWFsdHlwZSBpbiByZWFsdHlwZXMpCiAgICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiezB9LCBjbGFzcyB7MX0iLCAKICAgICAgICAgICAgICAgICAgICAgcmVhbHR5cGUuS2V5LCByZWFsdHlwZS5WYWx1ZSk7CiAgICAgfQoKfQo=
prog.cs(31,15): warning CS0219: The variable `dynamicType' is assigned but its value is never used
Compilation succeeded - 1 warning(s)
Car, class MachineClass
Animal, class AnimalClass
Plane, class