我想在System.Net.HttpWebRequest类中添加一些方法以满足我的需要。我尝试过反射,但是我需要改变它的许多成员类方法也很复杂。
我正在通过.NET参考源进行调试,我可以查看这些类的源代码。我是否可以复制每个相关的类源代码并构建我自己的类?
答案 0 :(得分:4)
对于某些班级是,但对于许多班级
.NET类经常使用未公开公开的内部类,您不仅需要重建您感兴趣的类,还需要重建所有内部引用。
我建议不要尝试这样做,而是使用Extension Methods或者如果这不能解决您的问题,请提出一个新问题来描述您要完成的确切事情,也许我们可以向您展示一种更简单的方法这样做。
答案 1 :(得分:2)
一切皆有可能。
您有源代码。你知道如何复制和粘贴。当然,您可以根据自己的目的调整该代码。
问题是;这是合法的吗?
要回答这个问题,您只需要examine the license作为参考来源。为此,假设您遵守麻省理工学院的许可证(非常宽松),这是完全合法的。
接下来的问题是;你应该?可能不是。最有可能的是,您可以通过帮助程序类或子类添加所需的功能,或通过Extension Methods添加新方法。