diff options
Diffstat (limited to 'Xamarin.Forms.Core/ReflectionExtensions.cs')
-rw-r--r-- | Xamarin.Forms.Core/ReflectionExtensions.cs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/Xamarin.Forms.Core/ReflectionExtensions.cs b/Xamarin.Forms.Core/ReflectionExtensions.cs index 95fd18ca..7a8b98b0 100644 --- a/Xamarin.Forms.Core/ReflectionExtensions.cs +++ b/Xamarin.Forms.Core/ReflectionExtensions.cs @@ -1,32 +1,38 @@ using System; using System.Collections.Generic; +using System.ComponentModel; using System.Linq; using System.Reflection; -namespace Xamarin.Forms +namespace Xamarin.Forms.Internals { - internal static class ReflectionExtensions + public static class ReflectionExtensions { + [EditorBrowsable(EditorBrowsableState.Never)] public static FieldInfo GetField(this Type type, Func<FieldInfo, bool> predicate) { return GetFields(type).FirstOrDefault(predicate); } + [EditorBrowsable(EditorBrowsableState.Never)] public static FieldInfo GetField(this Type type, string name) { return type.GetField(fi => fi.Name == name); } + [EditorBrowsable(EditorBrowsableState.Never)] public static IEnumerable<FieldInfo> GetFields(this Type type) { return GetParts(type, i => i.DeclaredFields); } + [EditorBrowsable(EditorBrowsableState.Never)] public static IEnumerable<PropertyInfo> GetProperties(this Type type) { return GetParts(type, ti => ti.DeclaredProperties); } + [EditorBrowsable(EditorBrowsableState.Never)] public static PropertyInfo GetProperty(this Type type, string name) { Type t = type; @@ -43,11 +49,13 @@ namespace Xamarin.Forms return null; } + [EditorBrowsable(EditorBrowsableState.Never)] public static bool IsAssignableFrom(this Type self, Type c) { return self.GetTypeInfo().IsAssignableFrom(c.GetTypeInfo()); } + [EditorBrowsable(EditorBrowsableState.Never)] public static bool IsInstanceOfType(this Type self, object o) { return self.GetTypeInfo().IsAssignableFrom(o.GetType().GetTypeInfo()); |