C#泛型,GetProcess从何而来?

C#泛型,GetProcess从何而来?,c#,C#,我正在看《LINQ In Action》一书中的这个例子 using System; using System.Collections.Generic; using System.Diagnostics; static class LanguageFeatures { static void DisplayProcesses() { List<String> processes = new List<String>(); foreach (Process

我正在看《LINQ In Action》一书中的这个例子

using System;
using System.Collections.Generic;
using System.Diagnostics;

static class LanguageFeatures
{
  static void DisplayProcesses()
  {
  List<String> processes = new List<String>();
  foreach (Process process in Process.GetProcesses())
    processes.Add(process.ProcessName);
    ObjectDumper.Write(processes);
  } 


  static void Main()
  {
    DisplayProcesses();
  }
}
使用系统;
使用System.Collections.Generic;
使用系统诊断;
静态类语言特性
{
静态void displayprocess()
{
列表进程=新列表();
foreach(Process.getprocesss()中的进程)
processs.Add(process.ProcessName);
ObjectDumper.Write(进程);
} 
静态void Main()
{
显示进程();
}
}

我知道List类有ForEach方法,但我无法理解编译器是如何识别GetProcesses的。

我猜您认为这是用户定义的方法,但是,此方法是System.Diagnostics dll的
Process
类的成员

使用此方法创建新流程组件数组,并将它们与本地计算机上的所有流程资源关联


NET framework有一系列预构建的类(如Systems.Diagnostics.Process),它们是操作系统功能的包装器,为您提供了这些信息。与泛型没有任何关系


本书的作者使用这种静态类方法是为了方便地获得一组项,以便演示LINQ功能

什么意思?
getprocesss
与泛型无关。它是
进程
类上的静态方法。我不知道你的困惑是从哪里来的(也不知道你想说什么
ForEach
),那就是
System.Diagnostics.Process.getprocesss()
静态方法。
System.Diagnostics
定义了一个名为
Process
的类,它有一个静态方法
getprocesss()
,它返回正在运行的进程的列表。您已经为System.Diagnostics包含了一个使用语句的
。可以得到什么?就像如何识别
Console.WriteLine
一样