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;