Example #1
0
        internal void ConvertToCs(NfTypeNameParseItem tnpi, StringBuilder bldr)
        {
            bldr = bldr ?? new StringBuilder();
            if (tnpi == null)
            {
                return;
            }

            var fname = tnpi.FullName;

            if (ValueTypeToLangAlias.ContainsKey(fname))
            {
                fname = ValueTypeToLangAlias[fname];
            }

            bldr.Append(fname);

            var hasGenCounter   = tnpi.GenericCounter != null && tnpi.GenericCounter > 0;
            var hasGenericItems = tnpi.GenericItems != null && tnpi.GenericItems.Any();

            if (!hasGenCounter && !hasGenericItems)
            {
                return;
            }

            if (hasGenCounter && !hasGenericItems)
            {
                bldr.Append($"<{new string(',', tnpi.GenericCounter.Value - 1)}>");
                return;
            }

            var genericItemsCs = new List <string>();

            foreach (var typeNameParseItem in tnpi.GenericItems)
            {
                var iBldr = new StringBuilder();
                ConvertToCs(typeNameParseItem, iBldr);
                genericItemsCs.Add(iBldr.ToString());
            }
            if (!genericItemsCs.Any())
            {
                return;
            }

            bldr.Append("<");
            bldr.Append(string.Join(",", genericItemsCs));
            bldr.Append(">");
        }
Example #2
0
        public string GenUseIsNotDefaultValueTest(string someTypeName, string variableName)
        {
            if (String.IsNullOrWhiteSpace(variableName))
            {
                return(string.Empty);
            }
            if (String.IsNullOrWhiteSpace(someTypeName))
            {
                return($"{variableName} != null");
            }

            if (someTypeName == "System.String" || someTypeName == "string")
            {
                return($"!string.IsNullOrWhiteSpace({variableName})");
            }

            if (IsPrimitiveTypeName(someTypeName))
            {
                if (ValueTypeToLangAlias.ContainsKey(someTypeName))
                {
                    someTypeName = ValueTypeToLangAlias[someTypeName];
                }
                switch (someTypeName)
                {
                case "byte":
                case "short":
                case "int":
                case "long":
                case "double":
                case "decimal":
                    return($"{variableName} != 0");

                case "char":
                    return($"(byte){variableName} != 0");

                case "bool":
                    return($"!{variableName}");
                }
            }
            return(String.Format("{0} != null", variableName));
        }