clay by

<PackageReference Include="clay" Version="1.0.0" />

 ClayBehaviorCollection

public object BinaryOperation(Func<object> proceed, ExpressionType operation, object value)

public object Convert(Func<object> proceed, object self, Type type, bool isExplicit)

public object ConvertMissing(Func<object> proceed, object self, Type type, bool isExplicit)

public object GetIndex(Func<object> proceed, IEnumerable<object> keys)

public object GetMember(Func<object> proceed, object self, string name)

public object GetMemberMissing(Func<object> proceed, object self, string name)

public object InvokeMember(Func<object> proceed, object self, string name, INamedEnumerable<object> args)

public object InvokeMemberMissing(Func<object> proceed, object self, string name, INamedEnumerable<object> args)

public object SetIndex(Func<object> proceed, IEnumerable<object> keys, object value)

public object SetMember(Func<object> proceed, object self, string name, object value)

public object SetMemberMissing(Func<object> proceed, object self, string name, object value)