为啥我不能将 ToUpper() 应用于 OwnerNode?

Posted

技术标签:

【中文标题】为啥我不能将 ToUpper() 应用于 OwnerNode?【英文标题】:Why can't I apply ToUpper() to an OwnerNode?为什么我不能将 ToUpper() 应用于 OwnerNode? 【发布时间】:2013-06-02 13:05:14 【问题描述】:

这行得通:

Output "Cluster Group: ""$($Group.Name)"", Current Owner: $($Group.OwnerNode), Current State: $($Group.State)"

这不起作用:

Output "Cluster Group: ""$($Group.Name)"", Current Owner: $($Group.OwnerNode.ToUpper()), Current State: $($Group.State)"

出现以下错误:

Method invocation failed because [Microsoft.FailoverClusters.PowerShell.ClusterNode] doesn't contain a method named 'ToUpper'.

关于如何将此字符串从 Get-ClusterGroup 字符串的输出转换为大写的任何想法?

【问题讨论】:

【参考方案1】:

ToUpper() 是一个字符串方法,而 OwnerNode 可能不是一个字符串。在调用 ToUpper() 之前调用 ToString() 方法。

$($Group.OwnerNode.ToString().ToUpper())

【讨论】:

【参考方案2】:

正如Shay Levy 已经解释的那样,OwnerNode 不是字符串,因此没有方法ToUpper()。不过,您可以在其 Name 属性上调用 ToUpper()

$($Group.OwnerNode.Name.ToUpper())

【讨论】:

以上是关于为啥我不能将 ToUpper() 应用于 OwnerNode?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我不能将 clickhouse json 函数应用于“FORMAT JSON”查询结果?

Swift 3 为啥不能将二元运算符“===”应用于两个“日期”操作数?

不确定为啥 toupper() 会切断 C 中的最后一个字母

在 C++ 中使用 toupper 函数的问题

C函数tolower,与toupper

toupper字符串转换函数应用实例