相关疑难解决方法(0)

在C#中是否有任何方法可以使用扩展方法覆盖类方法?

在某些情况下,我想要使用扩展方法覆盖类中的方法.有没有办法在C#中做到这一点?

例如:

public static class StringExtension
{
    public static int GetHashCode(this string inStr)
    {
        return MyHash(inStr);
    }
}
Run Code Online (Sandbox Code Playgroud)

在那里我一直想做到这一点的情况是能够将一个字符串的哈希存储到数据库中,并有相同的值由所有使用String类的哈希值(即词典等)由于类使用内置的.Net哈希算法不能保证从一个版本的Framework到下一个版本兼容,我想用我自己的版本替换它.

还有其他情况我遇到了我想用扩展方法覆盖类方法的地方,所以它不仅仅特定于字符串类或GetHashCode方法.

我知道我可以通过子类化现有的类来做到这一点但是在很多情况下能够使用扩展来做它会很方便.

c# extension-methods overriding

96
推荐指数
2
解决办法
3万
查看次数

12
推荐指数
1
解决办法
4025
查看次数

标签 统计

extension-methods ×2

overriding ×2

.net ×1

c# ×1