最佳答案
在某些情况下,我希望用扩展方法重写类中的方法。在 C # 中有什么方法可以做到这一点吗?
例如:
public static class StringExtension
{
public static int GetHashCode(this string inStr)
{
return MyHash(inStr);
}
}
我一直想这样做的一个例子是,能够将一个字符串的哈希值存储到数据库中,并让所有使用该字符串类的哈希值的类(例如 Dictionary 等)使用相同的值。NET 哈希算法不能保证从一个版本的框架兼容到下一个,我想用我自己的替换它。
在其他情况下,我也想用扩展方法覆盖类方法,这样它就不仅仅是特定于字符串类或 GetHashCode
方法了。
我知道我可以通过对现有类进行子类化来实现这一点,但是在很多情况下,通过扩展来实现这一点会很方便。