gpt4 book ai didi

针对早期框架的 C# 4.0 项目

转载 作者:行者123 更新时间:2023-11-30 15:31:20 25 4
gpt4 key购买 nike

假设我创建了一个 C# 项目,它使用了 C# 4.0 特性 - 可选参数。如果我选择 '.Net Framework 2.0' 作为目标框架,会发生什么情况?编译器是否足够智能以自行生成与 2.0 兼容的 IL,或者当部署在只有 .Net 框架的机器上时,Exe 是否会给出运行时错误 2.0?

最佳答案

在可选参数的特定情况下,兼容性将发挥作用,因为要使用的默认值存储在调用者的程序集中,而不是存储在被调用的程序集中,因此可以确保与其他程序集的兼容性。如果它编译,它将运行。

可选参数只是一个语法糖。以下代码针对目标框架 2.0 编译并运行:

internal class Program
{
public static class DummyClass
{
public static string Bar(int b = 10, int a = 12)
{
return a.ToString();
}
}

private static void Main(string[] args)
{
Console.WriteLine("{0}", DummyClass.Bar(a: 8));

Console.ReadKey();
}
}

阅读a full explanation by Mr Botelho

关于针对早期框架的 C# 4.0 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20741008/

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