覆盖对象';的虚拟方法
本文关键字:虚拟 方法 对象 覆盖 | 更新日期: 2023-09-27 18:20:55
我在C++中有一个类,我希望覆盖SWIG生成的C#类中的ToString、GetHashCode和Equals。
我该怎么做?有可能吗?(当然,我不想从SWIG生成的类派生。一个类有两个类只会使事情复杂化,并导致错误)。
不确定我是否完全理解这个问题,但如果您可以访问源代码并准备深入研究C#类本身,那么覆盖这些类非常简单,请查看下面的MSDN参考资料。
对于ToString(),请参阅MSDN如何覆盖ToString
对于Equals()或==请参阅MSDN如何覆盖Equals
有关GetHashCode(),请参阅MSDN如何覆盖GetHashCode
我看到的唯一问题是,如果你从SWIG生成源代码(我从未使用过这个产品,只是为了澄清一下),那么你可能会在输出时覆盖源代码,这意味着你必须重新编写它。
避免这种情况的一个选项是使用分部类,这样您用SWIG生成的分部类就不会用其中的覆盖方法覆盖分部类
如果你从未使用过空间类,我会看看这里:MSND部分类指南
这些只是解决您问题的一些建议!