Files
UnityExplorer_Fix/src/Inspectors/CacheObject/CacheProperty.cs
sinaioutlander e175e9c438 refactor
2020-11-05 17:33:04 +11:00

85 lines
2.5 KiB
C#

//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Reflection;
//using UnityExplorer.UI;
//using UnityExplorer.Helpers;
//namespace UnityExplorer.CacheObject
//{
// public class CacheProperty : CacheMember
// {
// public override bool IsStatic => (MemInfo as PropertyInfo).GetAccessors()[0].IsStatic;
// public override void InitMember(MemberInfo member, object declaringInstance)
// {
// base.InitMember(member, declaringInstance);
// var pi = member as PropertyInfo;
// this.m_arguments = pi.GetIndexParameters();
// this.m_argumentInput = new string[m_arguments.Length];
// base.Init(null, pi.PropertyType);
// UpdateValue();
// }
// public override void UpdateValue()
// {
// if (HasParameters && !m_isEvaluating)
// {
// // Need to enter parameters first.
// return;
// }
// if (IValue is InteractiveDictionary iDict)
// {
// if (!iDict.EnsureDictionaryIsSupported())
// {
// ReflectionException = "Not supported due to TypeInitializationException";
// return;
// }
// }
// try
// {
// var pi = MemInfo as PropertyInfo;
// if (pi.CanRead)
// {
// var target = pi.GetAccessors()[0].IsStatic ? null : DeclaringInstance;
// IValue.Value = pi.GetValue(target, ParseArguments());
// base.UpdateValue();
// }
// else // create a dummy value for Write-Only properties.
// {
// if (IValue.ValueType == typeof(string))
// {
// IValue.Value = "";
// }
// else
// {
// IValue.Value = Activator.CreateInstance(IValue.ValueType);
// }
// }
// }
// catch (Exception e)
// {
// ReflectionException = ReflectionHelpers.ExceptionToString(e);
// }
// }
// public override void SetValue()
// {
// var pi = MemInfo as PropertyInfo;
// var target = pi.GetAccessors()[0].IsStatic ? null : DeclaringInstance;
// pi.SetValue(target, IValue.Value, ParseArguments());
// }
// }
//}