CSharp examples for System.Reflection:Interface
Get Read Only Dictionary Interface
using System.Threading.Tasks; using System.Text; using System.Runtime.Serialization; using System.Runtime.CompilerServices; using System.Reflection.Emit; using System.Reflection; using System.Linq; using System.IO;//from ww w . ja v a2 s .c o m using System.Globalization; using System.Collections.Generic; using System; public class Main{ public static Type GetReadOnlyDictionaryInterface(this Type t) { return t.GetContainerInterface(typeof(IReadOnlyDictionary<,>)); } public static Type GetContainerInterface(this Type t, Type containerType) { return (t.IsGenericType() && t.GetGenericTypeDefinition() == containerType) ? t : t.GetInterfaces().First(i => i.IsGenericType() && i.GetGenericTypeDefinition() == containerType); } }