我可以从参考源重建 .NET class 吗?
Can I rebuild .NET class from reference source?
我想在 System.Net.HttpWebRequest class 中添加一些方法以满足我的需要。我尝试了反射,但它非常复杂,我还需要更改它的许多成员 class 方法。
我正在通过 .NET 参考源进行调试,我可以查看那些 class 的源代码。我可以复制每个相关的 class 源代码并构建我自己的 class 吗?
对某些人来说class是的,但对许多人来说不是。
.NET classes 经常使用不公开的内部 classes,你不仅需要重建你感兴趣的 class 还需要重建所有内部也有参考资料。
我建议不要尝试这样做,而是使用 Extension Methods 或者如果这不能解决您的问题,请提出一个新问题来描述您正在尝试完成的确切事情,也许我们可以向您展示更简单的方法。
一切皆有可能。
你有源代码。你知道如何复制和粘贴。当然,您可以根据自己的目的修改该代码。
问题是;合法吗?
要回答这个问题,您只需要 examine the license 作为参考来源。为此,它是完全合法的,前提是您遵守 MIT 许可证(相当宽松)。
下一个问题是;你应该?可能不会。最有可能的是,您可以通过助手 class 或子 class 添加所需的功能,或者通过 Extension Methods.
添加新方法
我想在 System.Net.HttpWebRequest class 中添加一些方法以满足我的需要。我尝试了反射,但它非常复杂,我还需要更改它的许多成员 class 方法。
我正在通过 .NET 参考源进行调试,我可以查看那些 class 的源代码。我可以复制每个相关的 class 源代码并构建我自己的 class 吗?
对某些人来说class是的,但对许多人来说不是。
.NET classes 经常使用不公开的内部 classes,你不仅需要重建你感兴趣的 class 还需要重建所有内部也有参考资料。
我建议不要尝试这样做,而是使用 Extension Methods 或者如果这不能解决您的问题,请提出一个新问题来描述您正在尝试完成的确切事情,也许我们可以向您展示更简单的方法。
一切皆有可能。
你有源代码。你知道如何复制和粘贴。当然,您可以根据自己的目的修改该代码。
问题是;合法吗?
要回答这个问题,您只需要 examine the license 作为参考来源。为此,它是完全合法的,前提是您遵守 MIT 许可证(相当宽松)。
下一个问题是;你应该?可能不会。最有可能的是,您可以通过助手 class 或子 class 添加所需的功能,或者通过 Extension Methods.
添加新方法