gpt4 book ai didi

c# - 这里发生了什么 : Process. GetCurrentProcess().MainModule.ModuleName;?

转载 作者:太空宇宙 更新时间:2023-11-03 17:18:15 24 4
gpt4 key购买 nike

我似乎对以下调用的工作方式有点困惑:

string str = Process.GetCurrentProcess().MainModule.ModuleName;

我知道这与执行以下操作相同:

Process pvar = new Process();
ProcessModule pmvar = pvar.MainModule;
string str2 = pmvar.ModuleName;

但是我需要一个详细的解释是如何实现 ex 的。调用 ProcessModule 类中的 MainModule 非静态属性,因为我还没有显式创建 Process 类的实例!

GetCurrentProcess() 方法是否自动创建一个要处理的实例,因为不需要这样做?

最佳答案

还没有创建 Process 的实例,但这会为您返回一个实例:

Process process = Process.GetCurrentProcess();

这与第二个片段中的 new Process() 调用有很大不同。所以你的第一个陈述实际上等同于:

Process process = Process.GetCurrentProcess();
ProcessModule module = process.MainModule;
string moduleName = module.ModuleName;

GetCurrentProcess()返回对表示当前正在执行的进程的 Process 对象的引用。

关于c# - 这里发生了什么 : Process. GetCurrentProcess().MainModule.ModuleName;?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8274456/

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