提取c#代码文件中的方法块
2015-01-27 16:56
246 查看
此方法是取C#文件里面的方法块,并删除缩进符,感觉写得还是比较容易懂的,所以收藏下,以便将来用到.
private static string GetCodeBlock(string allCode, string blockName) { int blockStart = allCode.IndexOf(blockName, StringComparison.OrdinalIgnoreCase); if (blockStart == -1) return "// " + blockName + " code not found"; blockStart = allCode.LastIndexOf(Environment.NewLine, blockStart, StringComparison.OrdinalIgnoreCase); if (blockStart == -1) blockStart = 0; else blockStart += Environment.NewLine.Length; int pos = blockStart; int braceCount = 0; char c; do { pos++; c = allCode[pos]; switch (c) { case '{': braceCount++; break; case '}': braceCount--; break; } } while (pos < allCode.Length && !(c == '}' && braceCount == 0)); int blockEnd = pos; string blockCode = allCode.Substring(blockStart, blockEnd - blockStart + 1); return removeIndent(blockCode); } private static string RemoveIndent(string code) { int indentSpaces = 0; while (code[indentSpaces] == ' ') { indentSpaces++; } StringBuilder builder = new StringBuilder(); string[] codeLines = code.Split(new string[] { Environment.NewLine }, StringSplitOptions.None); foreach (string line in codeLines) { if (indentSpaces < line.Length) builder.AppendLine(line.Substring(indentSpaces)); else builder.AppendLine(); } return builder.ToString(); }
相关文章推荐
- C# 从服务器下载文件代码的几种方法
- C#之IO读写文件方法封装代码
- C#读写txt文件多种方法实例代码
- C#实现将记事本中的代码编译成可执行文件的方法
- C# 打印出发生错误的文件,方法,代码所在行和列
- 编写高质量代码改善C#程序的157个建议——建议49:在Dispose模式中应提取一个受保护的虚方法
- C# 执行批处理文件(*.bat)的方法代码
- C#文件下载方法代码
- 利用C#代码将html样式文件与Word文档互换的方法
- C# 代码注释和Config文件中,特殊符号的书写方法。
- C#实现Web文件上传的两种方法实例代码
- C#中执行批处理文件(*.bat)的方法代码
- C#清除IE临时文件缓存cookies的方法及核心代码
- C# 2.0:使用匿名方法、迭代程序和局部类来创建优雅的代码
- 在C#中选择文件夹与文件的方法
- c#中实现文件拖放打开的方法
- C#文件重命名的方法
- 把 Visual Studio .NET 源代码文件中C# XML注释提取成工程文档
- 菜鸟之[C#WinForm传值(方法二)(详细代码及注释)]