我认为 C# 语言编译器是一个自包含的黑匣子,能够理解特定语法的文本并生成编译代码。另一方面,.NET 框架是一个庞大的库,其中包含部分由 C# 和部分由 C++ 编写的功能。所以 .NET 框架依赖于 C# 语言,而不是相反。
但我无法将其融入 LINQ 的工作方式。LINQ 查询是 C# 编译器可以理解的特定语法的文本。但是要通过自己的 LINQ 提供程序构建,我需要使用 IQueryable 和 IQueryProvider 等接口,这两个接口都在框架的 System.Linq 命名空间中定义。
这是否意味着 C# 语言提供的功能依赖于 .NET 框架的一部分?C# 语言是否了解 .NET 框架?