对基础 class 中虚方法的所有实现应用相同的覆盖

Apply same override to all implementations of virtual method in base class

我有一个来自 nuget 包的摘要 class,它在我的 C# 项目中实现了大约 30 次不同的时间。如果可能的话,我想在实现这个 class 时避免代码重复。 假设我有以下摘要 class (来自 nuget 包):

public abstract class Code
{
    protected Code(string type);
    public string Type { get; }
    public virtual string GetCodeString { get; }
}

我想添加一个方法,该方法将从我的项目的配置文件中获取一个值,并在抽象 class 的每个实现的 GetCodeString 的 getter 函数中使用它。 使用如下 class:

public static class CodeExtensionMethods
{
    public static string GetCodeStringFromAppSettings(this Code code)
        => ConfigurationManager.AppSettings["CodeString"] ?? String.Empty;
}

我想用 GetCodeStringFromAppSettings() 为我项目中代码的每个实现覆盖 GetCodeString getter。 要完成此操作,我似乎需要将此扩展方法复制粘贴到每个代码实现中。

有没有一种方法可以在各种实现之前覆盖代码 class 的虚拟方法?
当您无法访问基 class?

时,是否有更好的方法来实现重写方法的功能
public abstract class CodeSub : Code
{
        public override string GetCodeString => ConfigurationManager.AppSettings["CodeString"] ?? String.Empty;;
}

继承自您自己的摘要class。