diff --git a/src/CachedObjects/CacheList.cs b/src/CachedObjects/CacheList.cs index 7bdd720..70d0bd7 100644 --- a/src/CachedObjects/CacheList.cs +++ b/src/CachedObjects/CacheList.cs @@ -24,7 +24,7 @@ namespace Explorer { if (this.MemberInfo != null) { - switch (this.MemberInfoType) + switch (this.MemberInfo.MemberType) { case MemberTypes.Field: m_entryType = (MemberInfo as FieldInfo).FieldType.GetGenericArguments()[0]; diff --git a/src/CachedObjects/CacheMethod.cs b/src/CachedObjects/CacheMethod.cs index 6cb9b6a..eba96c8 100644 --- a/src/CachedObjects/CacheMethod.cs +++ b/src/CachedObjects/CacheMethod.cs @@ -152,8 +152,6 @@ namespace Explorer private void Evaluate() { - m_evaluated = true; - var mi = MemberInfo as MethodInfo; object ret = null; @@ -161,6 +159,7 @@ namespace Explorer if (!HasParameters) { ret = mi.Invoke(mi.IsStatic ? null : DeclaringInstance, new object[0]); + m_evaluated = true; } else { @@ -199,6 +198,7 @@ namespace Explorer if (arguments.Count == m_arguments.Length) { ret = mi.Invoke(mi.IsStatic ? null : DeclaringInstance, arguments.ToArray()); + m_evaluated = true; } else { diff --git a/src/CachedObjects/CacheObjectBase.cs b/src/CachedObjects/CacheObjectBase.cs index 2bdd936..f06da43 100644 --- a/src/CachedObjects/CacheObjectBase.cs +++ b/src/CachedObjects/CacheObjectBase.cs @@ -41,17 +41,6 @@ namespace Explorer } } - public MemberTypes MemberInfoType - { - get - { - if (MemberInfo is FieldInfo) return MemberTypes.Field; - if (MemberInfo is PropertyInfo) return MemberTypes.Property; - if (MemberInfo is MethodInfo) return MemberTypes.Method; - return MemberTypes.All; - } - } - // methods public virtual void Init() { } public abstract void DrawValue(Rect window, float width); @@ -202,7 +191,7 @@ namespace Explorer { GUILayout.Label("Reflection failed! (" + ReflectionException + ")", null); } - else if (Value == null && MemberInfoType != MemberTypes.Method) + else if (Value == null && MemberInfo?.MemberType != MemberTypes.Method) { GUILayout.Label("null (" + ValueType + ")", null); } diff --git a/src/Windows/ReflectionWindow.cs b/src/Windows/ReflectionWindow.cs index 5cca87c..db17d0d 100644 --- a/src/Windows/ReflectionWindow.cs +++ b/src/Windows/ReflectionWindow.cs @@ -90,7 +90,7 @@ namespace Explorer private bool ShouldProcessMember(CacheObjectBase holder) { - if (m_filter != MemberTypes.All && m_filter != holder.MemberInfoType) return false; + if (m_filter != MemberTypes.All && m_filter != holder.MemberInfo?.MemberType) return false; if (!string.IsNullOrEmpty(holder.ReflectionException) && m_hideFailedReflection) return false;