Пример #1
0
        public Program()
        {
            WrapperInt        TotalAmountAllArrays = new WrapperInt();
            List <SomeObject> myCollection         = new List <SomeObject>()
            {
                new SomeObject()
                {
                    Amount = 3, TotalAmount = TotalAmountAllArrays
                },
                new SomeObject()
                {
                    Amount = 6, TotalAmount = TotalAmountAllArrays
                },
                new SomeObject()
                {
                    Amount = 9, TotalAmount = TotalAmountAllArrays
                }
            };

            for (int i = 0; i < myCollection.Count; i++)
            {
                myCollection[i].TotalAmount.Value += myCollection[i].Amount;
            }
            foreach (var c in myCollection)
            {
                Console.WriteLine($"The Amount is:" + c.Amount + "  The total ammount is:" + c.TotalAmount.Value);
            }
        }
Пример #2
0
 static void Main()
 {
     WrapperInt gi = new WrapperInt(1234);
     gi.OutValue();
     WrapperString gs = new WrapperString("문자열");
     gs.OutValue();
 }
Пример #3
0
        private int ParseValue(int index, string valueName, WrapperObject parentNode)
        {
            WrapperType actualValue;

            if (this.TokenList[index].Contains("."))
            {
                var proposedDouble = this.TokenList[index].Split(".");
                if (int.TryParse(proposedDouble[0], out _) && int.TryParse(proposedDouble[1], out _))
                {
                    actualValue = new WrapperDouble(valueName, double.Parse(this.TokenList[index++]));
                }
                else
                {
                    actualValue = new WrapperString(valueName, this.TokenList[index++]);
                }
            }
            else if (int.TryParse(this.TokenList[index], out _))
            {
                actualValue = new WrapperInt(valueName, int.Parse(this.TokenList[index++]));
            }
            else if (this.TokenList[index].ToLower() == "true" || this.TokenList[index].ToLower() == "false")
            {
                bool boolVal = bool.Parse(this.TokenList[index++]);
                actualValue = new WrapperBool(valueName, boolVal);
            }
            else if (this.TokenList[index] == "<")
            {
                if (valueName.ToLower().Contains("array"))
                {
                    actualValue = new WrapperArray(valueName, null);
                    index       = ParseArray(index, actualValue as WrapperArray);
                }
                else
                {
                    actualValue = new WrapperObject(valueName, null);
                    index       = ParseObject(index, actualValue as WrapperObject);
                }
            }
            else
            {
                actualValue = new WrapperString(valueName, this.TokenList[index++]);
            }

            index = RulesUtility.ValidateToken(this.TokenList[index], "<", "Invalid Token. Need \'<\' for name of value", index);
            if (valueName.ToLower().Contains("array"))
            {
                index = RulesUtility.ValidateToken(this.TokenList[index], $"/{valueName.ToLower()}", $"Invalid Token. Need closing name {valueName} for name of value", index);
            }
            else
            {
                index = RulesUtility.ValidateToken(this.TokenList[index], $"/{valueName}", $"Invalid Token. Need closing name {valueName} for name of value", index);
            }
            index = RulesUtility.ValidateToken(this.TokenList[index], ">", "Invalid Token. Need \'>\' for name of value", index);

            parentNode.Value.Add(actualValue);
            return(index);
        }
Пример #4
0
        /// <inheritdoc />
        protected override async Task <HttpResponseMessage> ProcessRequest(HttpRequestMessage requestMessage)
        {
            var request = await DeserializeRequest <RequestPayLoad>(requestMessage);

            var response = new WrapperInt {
                Result = request.a + request.b
            };

            return(await SerializeResponse(response));
        }
Пример #5
0
        private int ParseValue(int index, string valueName, WrapperObject parentNode)
        {
            WrapperType actualValue = null;

            if (this.TokenList[index].Contains("\""))
            {
                index = RulesUtility.ValidateToken(this.TokenList[index], "\"", "Invalid Token. Need first double quote for string value", index);

                actualValue = new WrapperString(valueName, this.TokenList[index++]);

                index = RulesUtility.ValidateToken(this.TokenList[index], "\"", "Invalid Token. Need first double quote for string value", index);
            }
            else if (this.TokenList[index].Contains("."))
            {
                var proposedDouble = this.TokenList[index].Split(".");
                if (int.TryParse(proposedDouble[0], out _) && int.TryParse(proposedDouble[1], out _))
                {
                    actualValue = new WrapperDouble(valueName, double.Parse(this.TokenList[index++]));
                }
                else
                {
                    throw new Exception("This is an invlid Double Value");
                }
            }
            else if (int.TryParse(this.TokenList[index], out _))
            {
                actualValue = new WrapperInt(valueName, int.Parse(this.TokenList[index++]));
            }
            else if (this.TokenList[index] == "true" || this.TokenList[index] == "false")
            {
                bool boolVal = bool.Parse(this.TokenList[index++]);
                actualValue = new WrapperBool(valueName, boolVal);
            }
            else if (this.TokenList[index] == "{")
            {
                index++;
                actualValue = new WrapperObject(valueName, null);
                index       = ParseObject(index, actualValue as WrapperObject);
                index++;
            }
            else if (this.TokenList[index] == "[")
            {
                index++;
                actualValue = new WrapperArray(valueName, null);
                index       = ParseArray(index, actualValue as WrapperArray);
                index++;
            }

            parentNode.Value.Add(actualValue);
            return(index);
        }