Example #1
0
 public UserRight(int paramId, string paramCode, string paramName, FuncClass paramFunc, OpClass paramOp)
 {
     Func = new FuncClass();
     Op   = new OpClass();
     Id   = paramId;
     Code = paramCode;
     Name = paramName;
     Func = paramFunc;
     Op   = paramOp;
 }
Example #2
0
        static void Operators()
        {
            Console.WriteLine("Operators");
            var o1 = new OpClass(10);
            var o2 = new OpClass(100);

            (o1 + o2).f();
            fo(++o1);
            o1.f();
            fo(o2++);
            o2.f();
            int    i = o1;
            int    j = (int)o2;
            double d = (double)o1;
            double f = o2;
        }
Example #3
0
 public UserRight()
 {
     Func = new FuncClass();
     Op   = new OpClass();
 }
		public void UserDefinedClass ()
		{
			// We can use the simplest version of GetMethod because we already know only one
			// exists in the very simple class we're using for the tests.
			MethodInfo mi = typeof (OpClass).GetMethod ("op_Addition");

			OpClass left = new OpClass ();
			BinaryExpression expr = Expression.Add (Expression.Constant (left), Expression.Constant (new OpClass ()));
			Assert.AreEqual (ExpressionType.Add, expr.NodeType, "Add#09");
			Assert.AreEqual (typeof (OpClass), expr.Type, "Add#10");
			Assert.AreEqual (mi, expr.Method, "Add#11");
			Assert.AreEqual ("op_Addition", expr.Method.Name, "Add#12");
			Assert.AreEqual ("(value(MonoTests.System.Linq.Expressions.OpClass) + value(MonoTests.System.Linq.Expressions.OpClass))",
				expr.ToString(), "Add#13");

			Expression.Lambda<Func<OpClass>> (expr);

#if false

	//
	// We do not have support for objects that are not really
	// constants, like this case.   Need to figure out what to do
	// with those
	//

			Func<OpClass> compiled = l.Compile ();
			Assert.AreEqual (left, compiled  ());
#endif
		}
Example #5
0
 static void fo(OpClass o)
 {
     o.f();
 }