Esempio n. 1
0
        /// <summary>
        /// parse the paramater from a string
        /// </summary>
        /// <param name="commaSepParameter"></param>
        /// <returns></returns>
        public static Parameter[] FromString(string commaSepParameter)
        {
            List <Parameter> resultParams = new List <Parameter>();

            foreach (string parameter in commaSepParameter.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
            {
                string[]         varParts = parameter.Split(variableSeparators, StringSplitOptions.RemoveEmptyEntries);
                int              index    = 0;
                Parameter.CallBy callby   = Parameter.CallBy.Value;


                switch (varParts[0].Trim().ToLower())
                {
                case "ref":
                    callby = Parameter.CallBy.Reference;
                    index++;
                    break;

                case "readonly":
                    callby = Parameter.CallBy.ReadOnly;
                    index++;
                    break;
                }

                resultParams.Add(new Parameter(varParts[index + 0].Trim(), varParts[index + 1].Trim(), callby));
            }

            return(resultParams.ToArray());
        }
Esempio n. 2
0
    public static void Main(string[] args)
    {
        CallBy cb = new CallBy();
        int    num1 = 40, num2 = 60;

        cb.CallByVal(num1, num2);
        Console.WriteLine("Values after calling by value: " + num1 + " " + num2);
        cb.CallByRef(ref num1, ref num2);
        Console.WriteLine("Values after calling by reference: " + num1 + " " + num2);
    }
Esempio n. 3
0
 /// <summary>
 /// constructor
 /// </summary>
 /// <param name="datatype">datatype of the parameter</param>
 /// <param name="name">name of the parameter</param>
 /// <param name="callby">whats the call by of the parameter</param>
 public Parameter(string datatype, string name, CallBy callby = CallBy.Value)
     : base(datatype, name)
 {
     this.callby = callby;
 }