Esempio n. 1
0
        public override void SetIndexedValue(IValue index, IValue val)
        {
            var intIndex = (int)index.AsNumber();
            var newValue = COMWrapperContext.MarshalIValue(val);

            _array[intIndex] = newValue;
        }
Esempio n. 2
0
        public override object GetValue(object obj, BindingFlags invokeAttr, Binder binder, object[] index, System.Globalization.CultureInfo culture)
        {
            IRuntimeContextInstance inst = obj as IRuntimeContextInstance;

            if (inst == null)
            {
                throw new ArgumentException("Wrong argument type");
            }

            IValue retVal = inst.GetPropValue(_dispId);

            return(COMWrapperContext.MarshalIValue(retVal));
        }
Esempio n. 3
0
        public override object Invoke(object obj, BindingFlags invokeAttr, Binder binder, object[] parameters, System.Globalization.CultureInfo culture)
        {
            IRuntimeContextInstance inst = obj as IRuntimeContextInstance;

            if (inst == null)
            {
                throw new ArgumentException("Wrong argument type");
            }

            IValue[] engineParameters = parameters.Select(x => COMWrapperContext.CreateIValue(x)).ToArray();
            IValue   retVal           = null;

            inst.CallAsFunction(_dispId, engineParameters, out retVal);

            return(COMWrapperContext.MarshalIValue(retVal));
        }
        public void SetValue(int index, IValue value)
        {
            var newValue = COMWrapperContext.MarshalIValue(value);

            _array[index] = newValue;
        }