public static GetCommentParameter ( string key, string paramname ) : string | ||
key | string | |
paramname | string | |
Результат | string |
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)); }