小编SPS*_*amL的帖子

在 PowerShell 模块中跨函数和类使用枚举

我正在创建一个 PowerShell 模块,我想在模块中的多个函数(如果重要的话,将导出该函数)和类中使用枚举。我认为做到这一点的唯一方法是将所有代码放在一个文件中。然而,这并不是一个容易维护的故事。我想要一个类似于以下内容的模块文件结构:

样本结构

正如您在代码中看到的,Class1 的 Enum1 属性被标记为“无法找到类型 [Enum1]”。

代码示例

部署我的资源:

function Deploy-MyResource {
    [CmdletBinding()]
    Param(
        [Parameter(Mandatory=$true)]
        [Enum1] $EnumParam,

        [Parameter(Mandatory=$true)]
        [Class1] $ClassParam
    )

    $class2 = [Class2]::new()

    if($class2.Prop1 -eq $ClassParam.Prop1) {
        Write-Output "Matches"
    }
    else {
        Write-Output "No match."
    }
}
Run Code Online (Sandbox Code Playgroud)

第1类:

Class Class1 {
    [string] $Prop1
    [int] $Prop2
    [Enum1] $EnumProp

    DoSomething() {
        Write-Output "Did something using $($this.Prop1), $($this.Prop2), & $($this.EnumProp)"
    }
}
Run Code Online (Sandbox Code Playgroud)

枚举1:

enum Enum1 {
    ValueOne
    ValueTwo
}
Run Code Online (Sandbox Code Playgroud)

这是我的 PSD1 和 PSM1:

在此输入图像描述

PSD1:


@{

    # Script module or binary module file …
Run Code Online (Sandbox Code Playgroud)

powershell

6
推荐指数
1
解决办法
2185
查看次数

SharePoint 2013 Visual Studio工作流未更新

我用2个序列创建了一个工作流程.我部署它进行测试,一切正常.我回去并在两者之间添加了一个序列.现在它似乎没有在新序列中执行任何操作.是否存在重新加载SharePoint中的工作流以使其显示的问题?

在下图中,新序列是GetHRContextInfo.WriteToHistory事件永远不会触发.

此外,我现在也无法调试工作流程.

工作流设计器

debugging workflow-foundation-4 sharepoint-workflow visual-studio-2012 sharepoint-2013

4
推荐指数
1
解决办法
3529
查看次数