猿问

在 C# 中的静态对象中保存类实例

我们有一个类“ DataAccessServiceConnector ”,在该类中我们几乎没有与数据访问服务通信的方法。


public class DataAccessServiceConnector: IDataAccessServiceConnector

{

     public async Task<HttpResponseMessage> GetDataAccessServiceResponse()

     {

        //Some code

        return GetDataFromDataAccessService();

     }        

}

我们有一个接口:


public interface IDataAccessServiceConnector

{

    Task<HttpResponseMessage> GetDataAccessServiceResponse();

}

并且有一个不同的类,即在 as 静态对象中保存“DataAccessServiceConnector”类的实例。


public class ClassA

{

  public static IDataAccessServiceConnector DataAccessConnector;

  //Constructor of the Class

  ClassA()

  {

     DataAccessConnector = DataAccessConnector ?? new DataAccessServiceConnector();

  }

}

将类实例(即DataAccessServiceConnector)保存在静态对象(即DataAccessConnector)中是否不好?


子衿沉夜
浏览 246回答 2
2回答

Cats萌萌

选项1。如果已经存在每个人都可以访问的顶级对象,例如“程序”或“应用程序”,您可以将实例对象设为其上的新字段或属性。选项 2。从实例对象提供对实例对象的静态访问,作为静态方法/字段/属性。或者,如您所描述的,如果这样做方便您的设计,则从其他任意类型提供对实例对象的静态访问。实际上,您所描述的类层次结构对我来说听起来很正常。
随时随地看视频慕课网APP
我要回答