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)); }
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])); }
public override IValue GetIndexedValue(IValue index) { var intIndex = (int)index.AsNumber(); return(COMWrapperContext.CreateIValue(_array[intIndex])); }