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