Macros.Pause 方法
暂停宏记录器以便没有任何代码写入当前正在记录的宏。 此方法不应从宏内部使用。
命名空间: EnvDTE
程序集: EnvDTE(在 EnvDTE.dll 中)
语法
声明
Sub Pause
void Pause()
void Pause()
abstract Pause : unit -> unit
function Pause()
备注
如果一个宏命令调用另一个宏命令来执行它的任务,而第一个命令并不要求或并不想将第二个命令记录在宏内,这时 Pause 就会很有用。 在这种情况下,第一个命令发出捕获整个命令的行为的代码。
若要在暂停之后继续录制宏,可使用 Resume。 Pause 只能从外接程序内部使用。
如果在外接程序中但不是在宏记录模式下调用 Pause,则此方法不起作用,但是不会发生任何错误。
示例
public void CodeExample(DTE2 dte, AddIn addin)
{
// INSTRUCTIONS: Run this code, open a solution, start
// recording a macro, then connect the add-in containing this code.
try
{
Macros mac = dte.Macros;
if (mac.IsRecording)
{
mac.Pause();
if (!mac.IsRecording)
mac.Resume();
mac.EmitMacroCode("rem Code added by the EmitMacroCode method");
// Demonstrate these two properties return the same reference.
bool test = mac.DTE.Equals(mac.Parent);
if (test) MessageBox.Show("The DTE and Parent property refer to the same object.");
else MessageBox.Show("The DTE and Parent property do not refer to the same object.");
}
else MessageBox.Show("Start a macro recording session and reconnect addin");
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。