1

关于方法的语法:

我听说过参数声明的两种语法。我将第一个用于MulT,另一个用于MulV

$MathObject = (New-Module {
    function MulT([int]$Factor1, [int]$Factor2) {
        $Factor1 * $Factor2
    }

    function MulV{
        param(
            [int]$Factor1,
            [int]$Factor2
        )
        return $a * $b
    }
} -AsCustomObject)

MulT的语法和的语法有什么区别MulV?我应该使用哪个?

命名参数:

Cmdlet 可以有命名参数:

Multiply-IntegerFactors -Factor1 5 -Factor2 8

对象的方法也可以有命名参数吗?我正在考虑类似的事情:

$MathObject.MulT(-Factor1 5, -Factor2 8)

编辑:您认为使用哈希表作为参数以便在那里存储命名参数$MathObject.MulT(@{Faktor1=5, Faktor2=8})- 或者有更好的解决方案吗?

方法约定:

Verb-CamelCaseNounCmdlet ( ) 和模块 ( )有严格的命名约定CamelCaseModuleName。方法上也有任何(命名)约定吗?

谢谢。

4

1 回答 1

1

声明参数的方式不同不会对这两个函数产生影响。通常,如果使用 param() 语法,则可以更灵活地使用属性修改参数。参数的名称以及它们在 MulV 函数体中的引用方式似乎确实存在问题($factor1/2 和 $a/$b)。

至于为方法使用命名参数,那是行不通的。

于 2012-06-06T18:22:29.423 回答