0

我有一个类可以充当“模型提供者”。基本上这是它应该做的:

ModelProvider创建几个对象,例如 a和Projecta User。这里的想法是,我可以从我的应用程序的任何部分调用ModelProvider来获取最新的UserProject. 此外,我可以从应用程序的任何部分将更新的User或推Project送到ModelProvider.

简短: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

3

你正在尝试做的事情看起来很奇怪。一种可能更好的方法是提供指定的方法,但这取决于您实际尝试实现的目标:

  • void SetUser(User user)
  • User GetUser()
  • void SetProject(Project project)
  • Project GetProject()
于 2013-02-14T11:36:40.240 回答
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 回答