GetRemainingCount() private method

private GetRemainingCount ( ) : int
return int
コード例 #1
0
        public static void Write(String format, Object arg0, Object arg1, Object arg2, Object arg3, __arglist)
        {
            Object[] objArgs;
            int      argCount;

            ArgIterator args = new ArgIterator(__arglist);

            //+4 to account for the 4 hard-coded arguments at the beginning of the list.
            argCount = args.GetRemainingCount() + 4;

            objArgs = new Object[argCount];

            //Handle the hard-coded arguments
            objArgs[0] = arg0;
            objArgs[1] = arg1;
            objArgs[2] = arg2;
            objArgs[3] = arg3;

            //Walk all of the args in the variable part of the argument list.
            for (int i = 4; i < argCount; i++)
            {
                objArgs[i] = TypedReference.ToObject(args.GetNextArg());
            }

            Out.Write(format, objArgs);
        }
コード例 #2
0
		private static void ArglistMethod (__arglist)
		{
			var iter = new ArgIterator (__arglist);

			for (int n = iter.GetRemainingCount (); n > 0; n--)
				Console.WriteLine (TypedReference.ToObject (iter.GetNextArg ()));
		}
 public void VariableArguments(__arglist)
 {
     ArgIterator argumentIterator = new ArgIterator(__arglist);
     for(int i = 0; i < argumentIterator.GetRemainingCount(); i++)
     {
         Console.WriteLine(
             __refvalue(argumentIterator.GetNextArg(), string));
     }
 }
コード例 #4
0
 public static void DisplayNumbersOnConsole(__arglist)
 {
     ArgIterator ai = new ArgIterator(__arglist);
     while (ai.GetRemainingCount() > 0)
     {
         TypedReference tr = ai.GetNextArg();
         Console.WriteLine(TypedReference.ToObject(tr));
     }
 }
コード例 #5
0
ファイル: CLibUtils.cs プロジェクト: soywiz/ilcc
        /*
        static public TType Cast<TType>(object Value)
        {
            if (typeof(TType) == typeof(int)) return (TType)(dynamic)Convert.ToInt32(Value);
            if (typeof(TType) == typeof(uint)) return (TType)(dynamic)Convert.ToUInt32(Value);

            if (Value.GetType() == typeof(int)) return (TType)(dynamic)(int)Value;
            if (Value.GetType() == typeof(uint)) return (TType)(dynamic)(uint)Value;
            return (TType)(dynamic)Value;
        }
        */
        public static object[] GetObjectsFromArgsIterator(ArgIterator ArgIterator)
        {
            var Params = new object[ArgIterator.GetRemainingCount()];
            for (int n = 0; n < Params.Length; n++)
            {
                Params[n] = TypedReference.ToObject(ArgIterator.GetNextArg());
            }
            ArgIterator.End();
            return Params;
        }
コード例 #6
0
ファイル: Numbers.cs プロジェクト: kaptainzero/monomath
        /// <summary>
        /// Arrangements the specified n and list of argument.
        /// A = n! / [(n_1)!.(n_2)!. ... . (n_i)!]
        /// </summary>
        /// <param name='...'>
        /// List of arguments
        /// </param>
        public static Int64 Arrangements(Int32 n, __arglist)
        {
            Int64 result = 1;
            ArgIterator iter = new ArgIterator(__arglist);

            Int32 argCount = iter.GetRemainingCount();

                for (Int32 i = 0; i < argCount; i++) {
                        TypedReference typedRef = iter.GetNextArg();
                        result *= Factorial((Int32)TypedReference.ToObject( typedRef ) );
                }
            return Factorial(n)/result;
        }
コード例 #7
0
ファイル: test-399-lib.cs プロジェクト: nobled/mono
	public static Result VtAddASecondBunchOfInts (int a, __arglist)
	{
		int result = 0;

		System.ArgIterator iter = new System.ArgIterator (__arglist);
		int argCount = iter.GetRemainingCount();

		for (int i = 0; i < argCount; i++) {
			System.TypedReference typedRef = iter.GetNextArg();
			result += (int)TypedReference.ToObject( typedRef );
		}
		
		return new Result (result);
	}
コード例 #8
0
ファイル: vararg2.cs プロジェクト: Zman0169/mono
    static int AddABunchOfShorts (__arglist)
    {
	int result = 0;

	System.ArgIterator iter = new System.ArgIterator (__arglist);
	int argCount = iter.GetRemainingCount();

	for (int i = 0; i < argCount; i++) {
	    System.TypedReference typedRef = iter.GetNextArg();
	    result += (short)TypedReference.ToObject( typedRef );
	}

	return result;
    }
コード例 #9
0
ファイル: Console.cs プロジェクト: TelsaV/corefx
        private static object[] ToObjectArgs(object arg0, object arg1, object arg2, object arg3, ArgIterator args)
        {
            var objArgs = new object[4 + args.GetRemainingCount()];

            objArgs[0] = arg0;
            objArgs[1] = arg1;
            objArgs[2] = arg2;
            objArgs[3] = arg3;

            for (int i = 4; i < objArgs.Length; i++)
            {
                objArgs[i] = TypedReference.ToObject(args.GetNextArg());
            }
            return(objArgs);
        }
コード例 #10
0
ファイル: vararg2.cs プロジェクト: xia13520/dnSpy-Unity-mono
    static int AddABunchOfShorts(__arglist)
    {
        int result = 0;

        System.ArgIterator iter = new System.ArgIterator(__arglist);
        int argCount            = iter.GetRemainingCount();

        for (int i = 0; i < argCount; i++)
        {
            System.TypedReference typedRef = iter.GetNextArg();
            result += (short)TypedReference.ToObject(typedRef);
        }

        return(result);
    }
コード例 #11
0
ファイル: test-269.cs プロジェクト: andyhebear/Csharp-Parser
    int InstAddASecondBunchOfInts(int a, __arglist)
    {
        int result = 0;

        System.ArgIterator iter = new System.ArgIterator(__arglist);
        int argCount            = iter.GetRemainingCount();

        for (int i = 0; i < argCount; i++)
        {
            System.TypedReference typedRef = iter.GetNextArg();
            result += (int)TypedReference.ToObject(typedRef);
        }

        return(result);
    }
コード例 #12
0
ファイル: VarArgs.cs プロジェクト: modulexcite/DWX-Trickbox
        /// <summary>
        /// Hey children - don't do that at home
        /// </summary>
        public static void Flexible(__arglist)
        {
            // Actually pretty raw access here
            var ai = new ArgIterator(__arglist);

            while (ai.GetRemainingCount() > 0)
            {
                var typeRef = ai.GetNextArg();
                // Need to get the object reference from the
                // combined (typeref, objectref) element
                var obj = TypedReference.ToObject(typeRef);

                Debug.WriteLine(obj);
            }
        }
コード例 #13
0
        public static void WriteLine(string format, object arg0, object arg1, object arg2, object arg3, __arglist)
        {
            ArgIterator argIterator    = new ArgIterator(__arglist);
            int         remainingCount = argIterator.GetRemainingCount();

            object[] array = new object[remainingCount + 4];
            array[0] = arg0;
            array[1] = arg1;
            array[2] = arg2;
            array[3] = arg3;
            for (int i = 0; i < remainingCount; i++)
            {
                TypedReference nextArg = argIterator.GetNextArg();
                array[i + 4] = TypedReference.ToObject(nextArg);
            }
            Console.stdout.WriteLine(string.Format(format, array));
        }
コード例 #14
0
ファイル: Console.cs プロジェクト: vernon016/mono
		public static void WriteLine (string format, object arg0, object arg1, object arg2, object arg3, __arglist)
		{
			ArgIterator iter = new ArgIterator (__arglist);
			int argCount = iter.GetRemainingCount();

			object[] args = new object [argCount + 4];
			args [0] = arg0;
			args [1] = arg1;
			args [2] = arg2;
			args [3] = arg3;
			for (int i = 0; i < argCount; i++) {
				TypedReference typedRef = iter.GetNextArg ();
				args [i + 4] = TypedReference.ToObject (typedRef);
			}

			stdout.WriteLine (String.Format (format, args));
		}
コード例 #15
0
ファイル: ConsoleColor.cs プロジェクト: AlkindiX/packager
 /// <summary>
 /// Write the specified color, format, arg0, arg1, arg2, arg3 and .
 /// </summary>
 /// <param name="">.</param>
 /// <param name="format">Format.</param>
 /// <param name="arg0">Arg0.</param>
 /// <param name="arg1">Arg1.</param>
 /// <param name="arg2">Arg2.</param>
 /// <param name="arg3">Arg3.</param>
 public static void Write(System.ConsoleColor color, string format, object arg0, object arg1, object arg2, object arg3, __arglist
 )
 {
     ArgIterator argIterator = new ArgIterator (__arglist);
     int remainingCount = argIterator.GetRemainingCount ();
     object[] array = new object[remainingCount + 4];
     array [0] = arg0;
     array [1] = arg1;
     array [2] = arg2;
     array [3] = arg3;
     for (int i = 0; i < remainingCount; i++) {
         TypedReference nextArg = argIterator.GetNextArg ();
         array [i + 4] = TypedReference.ToObject (nextArg);
     }
     var old_font = Console.ForegroundColor;
     Console.ForegroundColor = color;
     Console.Write (string.Format (format, array));
     Console.ForegroundColor = old_font;
 }
コード例 #16
0
ファイル: Console.cs プロジェクト: ForNeVeR/pnet
        public static void WriteLine(String format, Object arg0, Object arg1,
                                     Object arg2, Object arg3, __arglist)
        {
            ArgIterator iter = new ArgIterator(__arglist);

            Object[] list = new Object [4 + iter.GetRemainingCount()];
            list[0] = arg0;
            list[1] = arg1;
            list[2] = arg2;
            list[3] = arg3;
            int posn = 4;

            while (posn < list.Length)
            {
                list[posn] = TypedReference.ToObject(iter.GetNextArg());
                ++posn;
            }
            Out.WriteLine(format, list);
        }
コード例 #17
0
	public static void WriteLine(String format, Object arg0, Object arg1,
							     Object arg2, Object arg3, __arglist)
			{
				ArgIterator iter = new ArgIterator(__arglist);
				Object[] list = new Object [4 + iter.GetRemainingCount()];
				list[0] = arg0;
				list[1] = arg1;
				list[2] = arg2;
				list[3] = arg3;
				int posn = 4;
				while(posn < list.Length)
				{
					list[posn] = TypedReference.ToObject(iter.GetNextArg());
					++posn;
				}
				Out.WriteLine(format, list);
			}
コード例 #18
0
ファイル: Console.cs プロジェクト: razzfazz/mono
		public static void WriteLine (string format, object arg0, object arg1, object arg2, object arg3, __arglist)
		{
			ArgIterator iter = new ArgIterator (__arglist);
			int argCount = iter.GetRemainingCount();

			object[] args = new object [argCount + 4];
			args [0] = arg0;
			args [1] = arg1;
			args [2] = arg2;
			args [3] = arg3;
			for (int i = 0; i < argCount; i++) {
				TypedReference typedRef = iter.GetNextArg ();
				args [i + 4] = TypedReference.ToObject (typedRef);
			}

			stdout.WriteLine (String.Format (format, args));
		}
コード例 #19
0
		public static void Write(string format, object arg0, object arg1, object arg2, object arg3, __arglist)
		{
			ArgIterator argIterator = new ArgIterator(__arglist);
			int num = argIterator.GetRemainingCount() + 4;
			object[] array = new object[num];
			array[0] = arg0;
			array[1] = arg1;
			array[2] = arg2;
			array[3] = arg3;
			for (int i = 4; i < num; i++)
			{
				array[i] = TypedReference.ToObject(argIterator.GetNextArg());
			}
			Console.Out.Write(format, array);
		}
コード例 #20
0
ファイル: Console.cs プロジェクト: sjyanxin/WPFSource
        public static void Write(String format, Object arg0, Object arg1, Object arg2, Object arg3, __arglist) 
        {
            Object[]   objArgs;
            int        argCount;
 
            ArgIterator args = new ArgIterator(__arglist);
 
            //+4 to account for the 4 hard-coded arguments at the beginning of the list. 
            argCount = args.GetRemainingCount() + 4;
 
            objArgs = new Object[argCount];

            //Handle the hard-coded arguments
            objArgs[0] = arg0; 
            objArgs[1] = arg1;
            objArgs[2] = arg2; 
            objArgs[3] = arg3; 

            //Walk all of the args in the variable part of the argument list. 
            for (int i=4; i<argCount; i++) {
                objArgs[i] = TypedReference.ToObject(args.GetNextArg());
            }
 
            Out.Write(format, objArgs);
        } 
コード例 #21
0
	public static String Concat(Object obj1, Object obj2,
								Object obj3, Object obj4,
								__arglist)
			{
				ArgIterator iter = new ArgIterator(__arglist);
				String[] list = new String [4 + iter.GetRemainingCount()];
				list[0] = (obj1 != null ? obj1.ToString() : null);
				list[1] = (obj2 != null ? obj2.ToString() : null);
				list[2] = (obj3 != null ? obj3.ToString() : null);
				list[3] = (obj4 != null ? obj4.ToString() : null);
				int posn = 4;
				Object obj;
				while(posn < list.Length)
				{
					obj = TypedReference.ToObject(iter.GetNextArg());
					if(obj != null)
					{
						list[posn] = obj.ToString();
					}
					else
					{
						list[posn] = null;
					}
					++posn;
				}
				return Concat(list);
			}
コード例 #22
0
ファイル: NativeFunction.cs プロジェクト: WLSF/SampSharp
        private object[] CreateRefArray(RuntimeArgumentHandle handle)
        {
            var iterator = new ArgIterator(handle);
            var len = iterator.GetRemainingCount();

            if ((_format != null && _format.Length != len) || (_format == null && len != 0))
                throw new ArgumentException("Invalid arguments");

            var args = new object[len];
            for (var idx = 0; idx < len; idx++)
                args[idx] = TypedReference.ToObject(iterator.GetNextArg());

            return args;
        }
コード例 #23
0
 public static string Concat(object arg0, object arg1, object arg2, object arg3, __arglist)
 {
   ArgIterator iterator = new ArgIterator(__arglist);
   int num = iterator.GetRemainingCount() + 4;
   object[] objArray = new object[num];
   objArray[0] = arg0;
   objArray[1] = arg1;
   objArray[2] = arg2;
   objArray[3] = arg3;
   for (int i = 4; i < num; i++)
   {
     objArray[i] = TypedReference.ToObject(iterator.GetNextArg());
   }
   return Concat(objArray);
 }