为什么我不能在类方法中使用预定义变量?

2024-04-25

我尝试在类方法中使用预定义变量,例如 $PSVersionTable 或 $PSScriptRoot。他们失败并显示错误消息

方法中未分配变量。

Example:

Class Foo {
    [String]$Version

    GetVersion() {
        If ($PSVersionTable) {
            $this.Version = $PSVersionTable.PSVersion
        }
    }
}

But why?


Class Foo {
    [String] $Version

    GetVersion() {
        if ($global:PSVersionTable) {
            $this.Version = $global:PSVersionTable.PSVersion
        }
    }
}

$foo = [Foo]::new()

$foo.GetVersion()

Write-Host $foo.Version

对于“为什么”部分,我想这与范围有关。在你的班级中,你必须以某种方式指定你引用全局$PSVersionTable变量,而不是类或脚本范围内的某些内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我不能在类方法中使用预定义变量? 的相关文章

随机推荐

  • location.href = location.href 不会重定向

    在我的 javascript 代码中 在某些时候 我需要刷新窗口 用户已上传新图像 但在页面中仍然可以看到它 我想知道为什么 location href location href 不刷新窗口 要刷新窗口 请尝试 window locati
  • 如何“使用 Logger API 将日志添加到您的项目”? (谷歌脚本)

    我正在尝试查看脚本的输出 但是当我转到 查看日志 时 我收到一条警报 未找到日志 使用 Logger API 将日志添加到您的项目中 如何添加记录器 API 您需要添加到您的代码中 Logger log Yes this was logge
  • 即使与XMPP服务器断开连接,如何保持群聊室(MUC)始终存在?

    我正在 XMPP Jabber 协议中使用 openfire jsjac 开发即时消息模块 J2EE Web 应用程序的一部分 openfire用户 组管理 表已重定向到我们的业务数据库表 这意味着我不再需要在openfire中维护用户 组
  • 简单的 Java 正则表达式匹配器不起作用

    Code import java util regex public class eq public static void main String args String str1 some String Here modelId 324
  • Xcode 6 对象库中没有项目

    I keep having problems with XCode6 I also tried to uninstall it and reinstall it Whenever I try to open it it keeps sayi
  • 同一字段中带有后缀的姓氏将被过滤掉并且不显示

    我有一张包含名字 中间名和姓氏的表 在姓氏字段中出现后缀 这是正确的 但是 当我创建引用该表的查询并运行脚本时 带有后缀的姓氏不会显示 就好像它们被从列表中过滤掉一样 如何让带有后缀的名称出现在新表中 任何帮助将不胜感激 请参阅下面的示例
  • CKEditor 5 保存选定的文本并在恢复内容后将其再次设置为选定

    我一直在使用 CKEditor 5 var mySelection editor getSelection 例如 获取选定的文本并能够将其保存到数据库中 我想知道是否有一种更简单的方法将所选文本保存到数据库 然后在恢复文本后将其设置为在编辑
  • 请参阅在 JSDoc 中键入不同的文件而不导入

    我正在 Visual Studio Code 中编写 JavaScript ES6 代码 并启用 VSCode 的类型检查 如VSCode 文档 https code visualstudio com docs languages java
  • displayformatattribute 自定义字符串格式

    我希望能够将视图模型中的属性标记为在 MVC 视图中显示时使用自定义格式进行格式化 我假设我需要自己的显示格式属性并设置显示格式 但我不确定如何设置此显示格式或在哪里设置 如果我想将数字显示为货币 很简单 只需在属性的构造函数中将 Data
  • 无法为 api 路由 laravel 设置 cookie

    使用后端 laravel 和前端 SPA vue js vue cli 3 进行服务 我需要通过 httpOnly cookie 不是 localStorage 进行身份验证 我用tymondesigns jwt auth https gi
  • 如何在主题激活时填充侧边栏上的小部件

    我想做的是在主题激活时使用一些默认小部件预先填充侧边栏小部件区域 if dynamic sidebar sidebar 确实添加了小部件 但它没有显示在小部件部分的侧栏中 并且 if is active sidebar sidebar 如果
  • Symfony2 中的 getEntityManager() 和 getDoctrine()

    这两种说法有什么区别吗 this gt getDoctrine gt getEntityManager gt getRepository this gt getDoctrine gt getRepository 这种差异是否与我遗漏的任何
  • 如何比较 Visual Studio Code 中的不同分支

    如何比较 Visual Studio Code 中的两个不同分支 是否可以 2021年答案 这是分步指南 安装GitLens扩大 GitLens https marketplace visualstudio com items itemNa
  • jScrollPane滚动条问题

    我正在开发一个使用 Wordpress 作为 CMS 的网站 并且我想在我的网站的 div 内使用自定义滚动条 我一直在尝试使用 jScrollPane 插件 但无法使其正常工作 主要代码在我的 header php 文件中 并且有一个类
  • 编辑文档Python-docx标题中的内容

    我正在尝试查找并替换其中的文本标题中的文本框的文档 但搜索了一段时间后 似乎无法通过 python docx 访问标题或 浮动 文本框中的内容 我读了问题here https github com python openxml python
  • 我应该在我的活动中缓存来自 SharedPreferences 的数据吗?

    我正在开发一个基于 GCM 的应用程序 用户可以在其中订阅多个主题 我需要知道用户在两个地方订阅了哪些主题 主要活动 展示Subscribe or Unsubscribe用户界面中的按钮 GCM 侦听器服务 通过以下方式过滤消息并处理 过时
  • 无法在 _app.js 中使用 getStaticProps

    我正在使用 next js 并尝试执行以下操作 获取 app js中与用户数据相关的基本数据 该数据包括标题 用于导航栏 和一些社交链接 用于页脚 在构建时将该数据传递给其他组件 例如页脚和导航栏 用于静态站点生成 为此我已经导出了getS
  • 使用监视器的单车道桥

    在大学里 我从 Gregory R Andrews Foundations of Multithreaded programming 中得到了这个规范的并行编程问题 虽然我有这本书的较新版本和俄语版本 但我发现了一个旧的英语变体并尝试正确传
  • 没有 fflush(stdout) 则输出不打印

    我不明白为什么有时我需要使用fflush 有时不是 我的程序目前出现段错误 我正在使用 print 语句对其进行调试 当程序出现段错误时 stdout不自动刷新缓冲区 我不明白为什么有时需要使用 fflush 而有时需要使用 不是 有时 s
  • 为什么我不能在类方法中使用预定义变量?

    我尝试在类方法中使用预定义变量 例如 PSVersionTable 或 PSScriptRoot 他们失败并显示错误消息 方法中未分配变量 Example Class Foo String Version GetVersion If PSV