当前位置: 首页>>代码示例>>C#>>正文


C# TemplateParameter.SetBase方法代码示例

本文整理汇总了C#中TemplateParameter.SetBase方法的典型用法代码示例。如果您正苦于以下问题:C# TemplateParameter.SetBase方法的具体用法?C# TemplateParameter.SetBase怎么用?C# TemplateParameter.SetBase使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TemplateParameter的用法示例。


在下文中一共展示了TemplateParameter.SetBase方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ParseParameter

            public static TemplateParameter ParseParameter(ParsedLine line)
            {
                int minDimensions = 1;
                int maxDimensions = 1;

                bool pointer = false;
                bool isFixed = false;
                bool signed = false;
                int prefBase = 16;
                Priority pointedPriority = Priority.none;

                foreach (string item in line.flags)
                {
                    if (item.Length == 0)
                    {
                        continue;
                    }
                    int index = item.IndexOf(':');
                    if (item.StartsWith("pointer"))
                    {
                        pointer = true;
                        if (index > 0)
                        {
                            string priority = item.Substring(index + 1);
                            if (Enum.GetNames(typeof(Priority)).Contains(priority))
                            {
                                pointedPriority = (Priority)Enum.Parse(typeof(Priority), priority);
                            }
                        }
                    }
                    else if (item.StartsWith("coordinates") || item.StartsWith("coordinate"))
                    {
                        if (index < 0)
                            throw new FormatException("No : in option " + item);
                        string dimensionsS = item.Substring(index + 1);
                        if (dimensionsS.Contains("-"))
                        {
                            string[] dimensionsSS = dimensionsS.Split('-');

                            minDimensions = int.Parse(dimensionsSS[0]);
                            maxDimensions = int.Parse(dimensionsSS[1]);
                        }
                        else
                        {
                            int dimensions = int.Parse(dimensionsS);
                            minDimensions = dimensions;
                            maxDimensions = dimensions;
                        }
                    }
                    else if (item.StartsWith("preferredBase"))
                    {
                        if (index < 0)
                            throw new FormatException("No : in option " + item);
                        string valueS = item.Substring(index + 1);
                        prefBase = valueS.GetValue();
                    }
                    else if (item.StartsWith("fixed"))
                    {
                        isFixed = true;
                    }
                    else if (item.StartsWith("signed"))
                    {
                        signed = true;
                    }
                    else
                    {
                        throw new FormatException("Unknown option " +
                            item + " in parameter " + line.name);
                    }
                }

                TemplateParameter param = new TemplateParameter(line.name, line.number1, line.number2, minDimensions,
                    maxDimensions, pointer, pointedPriority, signed, isFixed);
                param.SetBase(prefBase);
                return param;
            }
开发者ID:Diegoisawesome,项目名称:AwesomeMapEditor-old,代码行数:76,代码来源:LanguageProcessor.cs


注:本文中的TemplateParameter.SetBase方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。