ArrayFactoryBehavior.cs 645 B

1234567891011121314151617181920212223
  1. using System;
  2. namespace Masuit.Tools.Dynamics.Behaviors;
  3. internal class ArrayFactoryBehavior : ClayBehavior
  4. {
  5. /// <inheritdoc />
  6. public override object InvokeMember(Func<object> proceed, object self, string name, INamedEnumerable<object> args)
  7. {
  8. if (name == "Array")
  9. {
  10. dynamic x = new Clay(
  11. new InterfaceProxyBehavior(),
  12. new PropBehavior(),
  13. new ArrayPropAssignmentBehavior(),
  14. new ArrayBehavior(),
  15. new NullResultBehavior());
  16. x.AddRange(args);
  17. return x;
  18. }
  19. return proceed();
  20. }
  21. }