SetterFunctionInstance.cs 706 B

123456789101112131415161718192021222324252627
  1. using System;
  2. using Jint.Native;
  3. using Jint.Native.Function;
  4. namespace Jint.Runtime.Interop
  5. {
  6. /// <summary>
  7. /// Represents a FunctionInstance wrapping a Clr setter.
  8. /// </summary>
  9. public sealed class SetterFunctionInstance<T> : FunctionInstance
  10. {
  11. private readonly Action<T, object> _setter;
  12. public SetterFunctionInstance(Engine engine, Action<T, object> setter)
  13. : base(engine, null, null, null, false)
  14. {
  15. _setter = setter;
  16. }
  17. public override object Call(object thisObject, object[] arguments)
  18. {
  19. _setter((T)thisObject, arguments[0]);
  20. return Null.Instance;
  21. }
  22. }
  23. }