在多个类之间共享一个类

本文关键字:一个 之间 共享 | 更新日期: 2023-09-27 18:31:54

我有一个名为 Manager 的类和另一个名为 EmployeeFileHandler 的类,它继承自 IFileHandler .

我希望创建一个新的类EmployeeInfo,我将能够从static-way中的ManagerEmployeeFileHandler访问。但是,据我所知,static关键字不能应用于继承/ed 类。

这能以任何方式完成吗?

在多个类之间共享一个类

由于 C# 不支持多重继承,因此可以通过以下任一方式执行此操作:

  1. 为您的EmployeeInfo同时具有两个实例(has a关系,而不是is a关系)。

    public class EmployeeInfo {
        public static Manager Manager = new Manager();
        public static EmployeeFileHandler EmployeeFileHandler = new EmployeeFileHandler();
    }
    

    因此,每当需要访问Manager类方法时,都使用实例Manager,每当需要访问EmployeeFileHandler方法时,都会使用实例EmployeeFileHandler

  2. 或者,您也可以创建要从Manager继承的EmployeeInfo并实现IFileHandler

    public class EmployeeInfo : Manager, IFileHandler
    

    这是可以的,前提是EmployeeFileHandlerIFileHandler相比没有额外的方法