最近我了解到,虽然StringBuilder
的.NET 2.0版本针对ToString()
进行了优化,但.NET 4.0版本已针对Append()
进行了优化。这让我感到疑惑 - 我可以选择在每种情况下使用哪个版本的系统类吗?
(这个问题不是关于StringBuilder
,而是关于任何系统类。StringBuilder
只是一个例子。)
答案 0 :(得分:0)
不,你不能。
通常,系统类(或任何第三方库)可以在幕后合作,使用私有数据进行通信(即标记为私有或内部的项目)。
如果您尝试一起使用错误的版本,他们可能找不到他们期望的私人数据,并且会发生意外行为。
答案 1 :(得分:0)
您可以尝试这样的事情
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="myAssembly"
publicKeyToken="32ab4ba45e0a69a1"
culture="en-us" />
<!-- Assembly versions can be redirected in application, publisher policy, or machine configuration files. -->
<bindingRedirect oldVersion="1.0.0.0"
newVersion="2.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="mySecondAssembly"
publicKeyToken="32ab4ba45e0a69a1"
culture="en-us" />
<!-- Publisher policy can be set only in the application configuration file. -->
<publisherPolicy apply="no">
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>