如何使用CodeDom将regionText添加到CodeRegionMode.End

时间:2017-02-07 12:34:02

标签: c# codedom

我正在使用CodeRegionDirective在我的代码周围添加开始和结束区域,但是当我使用以下代码行时 CodeRegionDirective codeRegionDirective2 = new CodeRegionDirective(CodeRegionMode.End,“我的函数结束”); 然后它添加了像“#endregion”这样的结束区域代码,即使我指定了regionText。我希望我的结束区域看起来像“#endregion End of My Function”。所以请让我知道如何实现它。

1 个答案:

答案 0 :(得分:0)

CodeDom不会为RegionTextCodeRegionMode.End。以下是负责此操作的GenerateCodeRegionDirective方法的源代码:

private void GenerateCodeRegionDirective(CodeRegionDirective regionDirective)
{
  if (regionDirective.RegionMode == CodeRegionMode.Start)
  {
    this.Output.Write("#region ");
    this.Output.WriteLine(regionDirective.RegionText);
  }
  else
  {
    if (regionDirective.RegionMode != CodeRegionMode.End)
      return;
    this.Output.WriteLine("#endregion");
  }
}

从此可以看出this.Output.WriteLine(regionDirective.RegionText)案例没有CodeRegionMode.End