0

「モデルプロバイダー」として機能するクラスがあります。基本的にこれはそれがすることです:

は、 aや a などModelProvider、いくつかのオブジェクトを作成します。ここでの考え方は、アプリケーションのどの部分からでも を呼び出して、最新のやを取得できるということです。さらに、アプリケーションのどの部分からでも、更新されたまたはをプッシュできます。ProjectUserModelProviderUserProjectUserProjectModelProvider

短い:は、とModelProviderの最新のインスタンスをホストするクラスです。UserProject

下書き

class ModelProvider {
  private User user;
  private Project project;

  public ModelProvider() {
    this.user = new User();
    this.project = new Project();
  }

  public void SetModel(T model) {
    // If 'model' is of type User, do something like: this.user = model;
    // If 'model' is of type Project, do something like: this.project = model;
  }

  public T GetModel(???) {
    // Return the requested model. Either:
    // return this.user; or
    // return this.project;
  }

}

ただし、要求されたモデルを実際に取得して設定する方法がわかりません。どんな助けでも大歓迎です:-)

4

2 に答える 2

1

あなたはそれをジェネリッククラスにすることができます:

class ModelProvider<T>  // (optionally) where T: baseClassOfUserAndProject
{
    private T model;

    public void SetModel(T model) 
    {
        this.model = model;
    }

    public T GetModel() 
    {
        return this.model;
    }
}
于 2013-02-14T11:42:16.973 に答える