public IEnumerator <IValue> GetEnumerator()
 {
     for (int i = 0; i < _array.Length; i++)
     {
         yield return(COMWrapperContext.CreateIValue(_array[i]));
     }
 }
        public override void SetValue(object obj, object value, BindingFlags invokeAttr, Binder binder, object[] index, System.Globalization.CultureInfo culture)
        {
            IRuntimeContextInstance inst = obj as IRuntimeContextInstance;

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

            inst.SetPropValue(_dispId, COMWrapperContext.CreateIValue(value));
        }
Example #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 IValue GetValue(int index)
 {
     return(COMWrapperContext.CreateIValue(_array[index]));
 }
Example #5
0
        public override IValue GetIndexedValue(IValue index)
        {
            var intIndex = (int)index.AsNumber();

            return(COMWrapperContext.CreateIValue(_array[intIndex]));
        }