예제 #1
0
        public override bool Equals(object obj)
        {
            UnaryOperationBinder oa = obj as UnaryOperationBinder;

            return(oa != null && oa._operation == _operation);
        }
예제 #2
0
 public virtual MetaObject BindUnaryOperation(UnaryOperationBinder binder)
 {
     ContractUtils.RequiresNotNull(binder, "binder");
     return(binder.FallbackUnaryOperation(this));
 }
예제 #3
0
            public override MetaObject BindUnaryOperation(UnaryOperationBinder binder) {
                if (IsOverridden("TryUnaryOperation")) {
                    return CallMethodWithResult("TryUnaryOperation", binder, NoArgs, (e) => binder.FallbackUnaryOperation(this, e));
                }

                return base.BindUnaryOperation(binder);
            }
예제 #4
0
 public virtual bool TryUnaryOperation(UnaryOperationBinder binder, out object result) {
     throw new NotSupportedException();
 }
 protected UnaryOperationOnIndexBinder(ExpressionType operation, IEnumerable <ArgumentInfo> arguments)
 {
     ContractUtils.Requires(UnaryOperationBinder.OperationIsValid(operation), "operation");
     _operation = operation;
     _arguments = arguments.ToReadOnly();
 }
예제 #6
0
 public virtual MetaObject BindUnaryOperation(UnaryOperationBinder binder) {
     ContractUtils.RequiresNotNull(binder, "binder");
     return binder.FallbackUnaryOperation(this);
 }