Exemple #1
0
        /// <summary>Set Property</summary>
        /// <param name="propInfo"></param>
        /// <param name="o"></param>
        /// <param name="index"></param>
        /// <param name="value"></param>
        public static void SetPropertyValue(PropertyInfo propInfo, Object o, object[] index, Object value)
        {
            try
            {
                Object castedValue = DynCast(value, propInfo.PropertyType);

                if (InvokeRequired(o, propInfo.ReflectedType))
                {
                    GuiInteractive guiUtils = new GuiInteractive();
                    guiUtils.ReflectionSet(propInfo, o, index, castedValue);
                }
                else
                {
                    propInfo.SetValue(o, castedValue, index);
                }
            }
            catch (Exception e)
            {
                if (e is TargetInvocationException && e.InnerException != null)
                {
                    throw e.InnerException;
                }
                else
                {
                    throw e;
                }
            }
        }
Exemple #2
0
        /// <summary>Set field</summary>
        /// <param name="fieldInfo"></param>
        /// <param name="o"></param>
        /// <param name="value"></param>
        public static void SetFieldValue(FieldInfo fieldInfo, Object o, Object value)
        {
            Object castedValue = DynCast(value, fieldInfo.FieldType);

            if (InvokeRequired(o, fieldInfo.ReflectedType))
            {
                GuiInteractive guiUtils = new GuiInteractive();
                guiUtils.ReflectionSet(fieldInfo, o, null, castedValue);
            }
            else
            {
                fieldInfo.SetValue(o, castedValue);
            }
        }
Exemple #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="propInfo"></param>
        /// <param name="guiMgControl"></param>
        /// <param name="index"></param>
        /// <param name="value"></param>
        public static void SetPropertyValue(PropertyInfo propInfo, GuiMgControl guiMgControl, object[] index, Object value)
        {
            GuiInteractive guiUtils = new GuiInteractive();

            guiUtils.ReflectionSet(propInfo, guiMgControl, index, value);
        }