有时候我想用扩展方法来覆盖类中的一个方法,在C#中有没有办法实现这个想法?
例如:
public static class StringExtension
{
public static int GetHashCode(this string inStr)
{
return MyHash(inStr);
}
}
有时我想做的一件事是将字符串的哈希值存储到数据库中,并使所有使用字符串类哈希(例如字典等)的类使用相同的值。由于内置的.NET哈希算法不能保证在框架的不同版本之间兼容,因此我想用自己的算法替换它。
我遇到的其他情况也需要使用扩展方法覆盖类方法,因此这不仅特定于字符串类或GetHashCode
方法。
我知道我可以通过从现有类进行子类化来实现这一点,但在许多情况下,使用扩展将非常方便。