我有两个不同的WPF项目。第一个应该启动第二个项目的主窗口的新实例。
应启动主窗口的项目一类是MVVM模式中的VM,并为第二个项目提供有用的信息。
基于该信息,第二个项目的行为会更改。假设我必须传输10个变量,并且该项目有5种不同的行为,这些行为由这些变量确定。
要求是仅使用一个构造函数实例化主窗口。 如果我只有一个带有10个变量的构造函数和5个针对每种可能行为的if语句,那将是非常糟糕的事情。
处理这种问题的公认方法是什么?
答案 0 :(得分:1)
我不确定在将这些参数传递给构造函数时以哪种方式实例化第二个窗口,但是当您想在对象之间传递大量信息时,我建议将参数包装到{{1}中}或class
这两个项目都可以识别。这样,您只传递了一个参数,而不是10个或更多。
这样,无论您是从文件中读取这些参数还是从第一个应用程序将它们作为参数传递,构造函数都将只需要一个参数。