gpt4 book ai didi

c# - 我可以根据 .NET Framework 版本创建预处理器指令吗?

转载 作者:可可西里 更新时间:2023-11-01 07:45:31 24 4
gpt4 key购买 nike

这是我想做的具体例子。

考虑 string.Join功能。在 .NET 4.0 之前,只有两个重载,都需要一个 string[]。参数。

从 .NET 4.0 开始,有新的重载采用更灵活的参数类型,包括 IEnumerable<string> .

我有一个图书馆,其中包括 Join本质上执行 .NET 4.0 string.Join 功能的功能功能确实如此。我只是想知道是否可以使此函数的实现依赖于目标 .NET 框架。如果是 4.0,它可以简单地调用 string.Join在内部。如果是 3.5 或更早版本,它可以调用自己的内部实现。

  1. 这个想法有意义吗?
  2. 如果确实有意义,那么最合乎逻辑的方法是什么?我想我只是假设预处理器指令最有意义,因为调用 string.JoinIEnumerable<string>当目标版本低于 4.0 时,参数甚至不会编译;所以无论我使用什么方法都必须在编译之前进行。 (例如,在运行时检查 Environment.Version 属性是行不通的。)

最佳答案

您可以查看 Stack Overflow 上的另一个问题,该问题说明了如何通过项目文件的 XML 设置条件常量: Detect target framework version at compile time

然后您可以使用它来确定是应该使用 .NET 4 重载还是您自己的库。

关于c# - 我可以根据 .NET Framework 版本创建预处理器指令吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4535622/

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