1

我创建了一个名为Chargify.NET的 API 包装器,并且我开始看到一种可以通过定位 .NET 4 来解决的模式。

问题在于,当它们增强 API 时,我需要创建越来越多的重载函数来处理一个特定操作(在本例中为创建订阅)。现在,我有很多(我认为太多)重载的 CreateSubscription 函数,并且很难管理不同的签名。

是否可以(和/或建议)针对 .NET 4 构建库并使用可选参数并希望库的用户可以使用 .NET 4 库?还是我应该继续沿着 3.5 的道路前进?或者以某种方式同时针对两者?

需要对此进行一些讨论..

4

3 回答 3

1

真的没有正确的答案。如果您开始使用 .NET 4 功能,您可能只想针对 .NET 4,因为尝试同时针对这两个功能会限制您使用旧功能(意味着没有理由升级)或需要 2 个代码路径(不利于维护) .

使用 .NET 4 会将您的目标市场限制在使用 .NET 4 的那些人中。由您来决定新功能是否带来额外的灵活性和功能,以及简化的 API(即:可选参数功能)是否是值得限制你的观众。

如果您的受众是商业商店,这可能是一个大问题 - 如果您的目标用户是小型开发人员,或者主要是其他开源开发人员 - 他们很可能更愿意升级到 .NET 4 以使用您的包装器(如果它是)必需的。

于 2010-07-08T15:40:38.500 回答
1

.NET 在 4.0 之前就已完全支持可选参数。但是,他们最近才获得 C# 的语言支持。请记住,符合 CLS 的语言不需要完全支持可选参数 - 允许编译器忽略您提供的默认值。

于 2010-07-08T15:43:23.550 回答
0

你也知道,当 C# 编译器编译你的程序并且你的程序使用可选参数时,编译器所做的只是用这些可选参数替换重载函数。因此,通过切换到可选参数,您不会获得速度或代码减少的好处。

于 2010-07-08T16:26:03.167 回答