using System; using System.Collections.Generic; using System.Linq; namespace Masuit.Tools.Dynamics.Behaviors; internal class NullResultBehavior : ClayBehavior { /// public override object GetMember(Func proceed, object self, string name) { return proceed() ?? NullInstance.Instance; } /// public override object GetIndex(Func proceed, object self, IEnumerable keys) { return proceed() ?? NullInstance.Instance; } /// public override object InvokeMember(Func proceed, object self, string name, INamedEnumerable args) { if (args.Any()) { return proceed(); } return proceed() ?? NullInstance.Instance; } }