gpt4 book ai didi

powershell - 两种方法的数据类型差异

转载 作者:行者123 更新时间:2023-12-02 23:13:15 26 4
gpt4 key购买 nike

如果我声明这样的数据类型:

Add-Type -TypeDefinition "public class MyTest {}"

然后创建一个对象并获取它的数据类型,我得到 MyTest ,正如我所料:

(new-object MyTest).GetType().Name

但如果我直接引用类型......

[MyTest].GetType().Name

我得到 RuntimeType .谁能解释这里发生了什么?

最佳答案

这与 Add-Type 无关特别是 cmdlet;它适用于所有 PowerShell 类型:

PS > (1).GetType().Name
Int32
PS > [int].GetType().Name
RuntimeType

(new-object MyTest) 这样的事情和 1是特定类型的实例。调用 .GetType()他们正在返回这些实例的类型。

[MyTest] 这样的事情和 [int]然而是 RuntimeType 的实例类,它代表所有 PowerShell 运行时类型( [...] 中的东西)。这就是为什么 [MyTest].GetType().Name正在返回 RuntimeType .你基本上得到了 MyTest 的类型类本身,而不是它的实例。

以下是视觉分割:

new-object MyTest  # MyTest instance
[MyTest] # RuntimeType instance
1 # Integer instance
[int] # RuntimeType instance

关于powershell - 两种方法的数据类型差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30632720/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com