小编pen*_*owe的帖子

是否可以在c#中的Powershell cmdlet之间共享属性和注释?

在Powershell cmdlet中公开一组相关函数时,是否可以共享属性名称和摘要帮助以在程序集中跨cmdlet规范化这些函数?

我知道这可以通过派生类来完成,但是当有多个具有不同属性的cmdlet要共享时,此解决方案最多是尴尬的.

这是一个非常简单的例子.我想分享属性'Name'和所有相关的注释,以便它们在我们生成的N个cmdlet中是相同的,但我想不出在c#中执行此操作的好方法.理想情况下,任何共享都允许指定参数属性,例如Mandatory或Position.

namespace FrozCmdlets
{
using System.Management.Automation;

/// <summary>
/// Adds a new froz to the system.
/// </summary>
[Cmdlet( VerbsCommon.Add, "Froz" )]
public class AddFroz : Cmdlet
{
    /// <summary>
    /// The name of the froz.
    /// For more information on the froz, see froz help manual.
    /// </summary>
    [Parameter]
    public string Name { get; set; }

    protected override void ProcessRecord()
    {
        base.ProcessRecord();
        // Add the froz here
    }
}

/// <summary>
/// Removes a froz from …
Run Code Online (Sandbox Code Playgroud)

c# powershell cmdlet

8
推荐指数
1
解决办法
579
查看次数

使用boost :: signals2编译时间非常慢

我们有一个很大的代码库,已成功使用boost :: signals多年.我们最近提升了v1.54,并决定由于boost :: signals被弃用,我们将切换到boost :: signals2.

我们看到的问题是编译时间是可怕的.例如,一个小的.cpp文件现在需要花费20多秒才能获得4秒.

同样,我们过去需要大约10分钟才能生成的库(大型)之一需要长达一个小时.我已经四处搜索了有关如何通过预编译的头文件,宏等来改进它的文档,但还没有找到任何可以大大改善这种情况的东西.

在procmon中查看cl.exe会在boost :: signals2和mpl库中显示大量的IO.

我们不需要信号2提供的线程安全性,此时我们接近在"升级"上拉动插头并恢复信号.在我们放弃之前,有没有人对此有任何建议或经验?

我们正在使用VS2012和大量的RAM /磁盘/等.

c++ performance boost compilation visual-studio-2012

8
推荐指数
1
解决办法
1099
查看次数