CSharpUML.Comments.GetCommentParameter C# (CSharp) Метод

GetCommentParameter() публичный статический Метод

public static GetCommentParameter ( string key, string paramname ) : string
key string
paramname string
Результат string
        public static string GetCommentParameter(string key, string paramname)
        {
            foreach (string _cmt in CommentMap[key]) {
                string cmt = _cmt.TrimAll ();
                if (cmt.StartsWith ("[" + paramname) && cmt.EndsWith ("]") && cmt.Contains ("=")) {
                    return cmt.Split ("=") [1].Split ("]") [0];
                }
            }
            return null;
        }

Usage Example

Пример #1
0
        public string ToCSharpCode(int padding, Virtuality virt, UmlClass inClass)
        {
            if (virt == CSharpUML.Virtuality.None)
            {
                virt = Virtuality;
            }
            string        paddingStr = String.Concat(Enumerable.Repeat(" ", padding));
            List <string> lines      = new List <string> ();

            lines.AddRange(Comments.CSharpComments(commentsKey, paddingStr));
            string uml = paddingStr;

            // public, virtual
            string _keywords = Comments.GetCommentParameter(commentsKey, "keywords");

            if (_keywords != null)
            {
                uml += _keywords.TrimAll().ToCode("", " ");
            }
            else if (inClass != null && inClass.type == ClassType.Interface)
            {
                uml += "";
            }
            else
            {
                uml += Publicity.ToCode("", " ") + virt.ToCode("", " ");
            }

            // return type
            string _returntype = Comments.GetCommentParameter(commentsKey, "returntype");

            if (_returntype != null)
            {
                uml += _returntype.ToCSharpType() + " ";
            }
            else if (IsContructor)
            {
                uml += "";
            }
            else if (returntype.Length > 0)
            {
                uml += returntype.ToCSharpType().ToCode("", " ");
            }
            else
            {
                uml += "void ";
            }

            // name
            string _name = Comments.GetCommentParameter(commentsKey, "name");

            if (_name != null)
            {
                uml += _name;
            }
            else
            {
                uml += name;
            }

            // index operator [ ]
            if (name == "this")
            {
                uml += " [" + string.Join(", ", parameters) + "]";
                lines.Add(uml);
                lines.Add(paddingStr + "{");
                lines.Add(paddingStr + "    " + "get { throw new System.NotImplementedException(); }");
                lines.Add(paddingStr + "    " + "set { throw new System.NotImplementedException(); }");
                lines.Add(paddingStr + "}");
            }
            // normal method
            else
            {
                uml += " (";
                string _parameters = Comments.GetCommentParameter(commentsKey, "parameters");
                if (_parameters != null)
                {
                    uml += _parameters;
                }
                else
                {
                    for (int i = 0; i < parameters.Length; ++i)
                    {
                        if (i > 0)
                        {
                            uml += ", ";
                        }
                        if (parameters [i].Contains(" "))
                        {
                            String[] p = parameters [i].Split(new char[] { ' ' }, 2);
                            uml += p [0].ToCSharpType() + " " + p [1];
                        }
                        else
                        {
                            uml += parameters [i].ToCSharpType() + " " + parameters [i].ToLower();
                        }
                    }
                }
                uml += ")";
                if (uml.Contains("ModelFactory") && uml.Contains("Func<"))
                {
                    uml = paddingStr + "public ModelFactory (Func<GameScreen, GameModelInfo, GameModel> createModel)";
                }

                string _base = Comments.GetCommentParameter(commentsKey, "base");
                if (_base != null)
                {
                    uml += "\n" + paddingStr + "    : base(" + _base.TrimAll() + ")";
                }

                if (inClass.type == ClassType.Interface)
                {
                    lines.Add(uml + ";");
                }
                else
                {
                    lines.Add(uml);
                    lines.Add(paddingStr + "{");
                    lines.Add(paddingStr + "    " + "throw new System.NotImplementedException();");
                    lines.Add(paddingStr + "}");
                }
            }
            return(string.Join("\n", lines));
        }