C# 中如何向 Microstation 输出调试信息

在进行 MS 开发时,有时候需要输出调试信息,方便查看,主要有 4 种方式:

  1. 通过 P/Invoke 技术调用 void mdlDialog_dmsgsPrint(byte[] wMsg) 方法来输出
  2. 通过 MS 消息管理器 来输出,但是这种是输出是模态的,不太方便
  3. 通过现有的 Log 库,比如 Log4net 来进行输出,在 MS 中无法打开 console 进行输出,所以使用起来有些不方便
  4. 自己写一个输出窗体,来显示调试信息

本文介绍最简单的方式,即调用原生的消息输出窗体来展示。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System.Text;
using System.Runtime.InteropServices;

namespace Utils.Message
{
/// <summary>
/// MS 中的输出窗体
/// </summary>
public class Console
{
[DllImport("ustation.dll")]
public static extern void mdlDialog_dmsgsPrint(byte[] wMsg);

public static void WriteLine(string message)
{
mdlDialog_dmsgsPrint(Encoding.Unicode.GetBytes(message));
}
}
}

使用效果:

image-20220519085734183

参考

请问mdlDialog_dmsgsPrint对应C#什么方法?