小编eww*_*eww的帖子

Powershell 子类构造函数 - 找不到“new”的重载

Powershell:5.1.1904.1

操作系统:Windows 10 Pro x64,版本 2004

我可能在这里遗漏了一些非常明显的东西,但是......

我有一个基类和一个子类。

class Vehicle {
    [string]$Name
    Vehicle($Name) {
        $this.Name = $Name
    }
}

class Car : Vehicle {
    [int]$NumWheels
    Car($Name, $NumWheels) {
        $this.NumWheels = $NumWheels
    }
}

$testVar = [Car]::new("Ford Fiesta", 4)
Run Code Online (Sandbox Code Playgroud)

当调用子类构造函数时,我收到消息

找不到“new”的重载且参数计数:“0”。

当我删除类继承时,我可以调用构造函数。Powershell 似乎找到了它。

当我删除继承并获取有关构造函数的信息时

[Car]::new
Run Code Online (Sandbox Code Playgroud)

我懂了

OverloadDefinitions                                   
-------------------                                   
Car new(System.Object Name, System.Object NumWheels) 
Run Code Online (Sandbox Code Playgroud)

当指定继承时(Car:Vehicle)我仍然得到

OverloadDefinitions                                   
-------------------                                   
Car new(System.Object Name, System.Object NumWheels) 
Run Code Online (Sandbox Code Playgroud)

完全不清楚为什么它似乎看到了构造函数,但在继承时我无法调用它。

我知道我一定在这里做错了什么。:P

先感谢您

powershell

3
推荐指数
1
解决办法
2736
查看次数

标签 统计

powershell ×1