更改抽象类的基类是否会破坏覆盖它的类?

时间:2019-05-31 18:42:47

标签: c# class inheritance .net-3.5 backwards-compatibility

我正在研究一个C#库,该库大致具有abstract class的以下实现:

public abstract class ModPrefab
{
    public string ClassID { get; protected set; }

    public string PrefabFileName { get; protected set; }

    public TechType TechType { get; protected set; }

    protected ModPrefab(string classId, string prefabFileName, TechType techType = TechType.None)
    {
        ClassID = classId;
        PrefabFileName = prefabFileName;
        TechType = techType;
    }
}

该库当前被许多其他项目使用。

我正在为该库开发一个更新,其中涉及将该类移至另一个程序集,并重新分发旧程序集(所有方法均传递给新程序集)以实现向后兼容。

我想知道如果将实施更改为:

,依赖于此项目的项目是否会中断?

public abstract class ModPrefab : NamespaceInNewAssembly.ModPrefab
{
    protected ModPrefab(string classId, string prefabFileName, TechType techType = TechType.None) 
        : base(classId, prefabFileName, techType) { }
}

其中NamespaceInNewAssembly.ModPrefab在另一个程序集中定义为:

namespace NamespaceInNewAssembly
{
    public abstract class ModPrefab
    {
        public string ClassID { get; protected set; }

        public string PrefabFileName { get; protected set; }

        public TechType TechType { get; protected set; }

        protected ModPrefab(string classId, string prefabFileName, TechType techType = TechType.None)
        {
            ClassID = classId;
            PrefabFileName = prefabFileName;
            TechType = techType;
        }
    }
}

0 个答案:

没有答案