gpt4 book ai didi

c# - ManagementClass 是否加载所有属性?

转载 作者:太空狗 更新时间:2023-10-29 21:56:24 27 4
gpt4 key购买 nike

使用 ManagementObjectSearcher 时- 可以搜索特定属性(而不是通过 * 搜索所有属性)。

实例化 ManagementClass 时会发生什么(即 new ManagementClass(someClass)),它是加载所有属性,还是只是某种指针,不会加载属性?

.

(我也很高兴知道将 ManagementObjectSearcher* 一起使用时会发生什么,它会加载属性以外的任何内容,还是只是喜欢明确指定所有这些?从逻辑上讲,它应该只是表示“全部”,但从 here 看来并非如此。)

最佳答案

当你实例化它时什么也不会发生。它只是stores the query, scope and whatever else you may have specified . ManagementObjectSearcher

也是如此

当您调用 .Get() 时,the query is executed against the current scope .至于 ManagementObjectSearcher,实际行为取决于它是否是 class enumeration or instance enumeration (e.g. a query)

执行查询并直接返回结果(任何属性),而类枚举将绑定(bind)到基础 WMI 对象 without actually loading anything直到你在某处调用 .Get()

does it load all of the properties, or is it only some sort of pointer

这是一个pointerCIM Object Manager .底层对象仅在 initialize is called with true 时加载(表示您要绑定(bind)到基础 WMI 对象)。这是执行查询的对象。

查看对 Initialize() 的各种调用,乍一看似乎只有在请求属性或限定符时才绑定(bind)对象。调用方法不会绑定(bind)它们。

I'd also be happy to know what happens when using ManagementObjectSearcher with a *

在您执行查询之前什么都没有。默认情况下,执行 shallow enumeration在物体上。除了属性之外,这可能会返回限定符,但我对此并不完全确定。

也很有趣(包括兄弟文章):https://technet.microsoft.com/en-us/library/cc180561.aspx

我希望这对您有所帮助:)

关于c# - ManagementClass 是否加载所有属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49803633/

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