Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 什么';在实例化时将大量信息传输到另一个类的最佳实践是什么?_C#_Wpf_Theory - Fatal编程技术网

C# 什么';在实例化时将大量信息传输到另一个类的最佳实践是什么?

C# 什么';在实例化时将大量信息传输到另一个类的最佳实践是什么?,c#,wpf,theory,C#,Wpf,Theory,我有两个不同的WPF项目。第一个应该启动第二个项目主窗口的新实例 ProjectOne类应该启动主窗口,它是MVVM模式中的一个VM,为第二个项目提供有用的信息 根据这些信息,第二个项目的行为将发生变化。假设我必须转移10个变量,项目有5种不同的行为,它们由这些变量决定 要求只使用一个构造函数实例化主窗口。 如果我只有一个构造函数,每个可能的行为都有10个变量和5个if语句,那就太糟糕了 处理此类问题的公认方法是什么?我不确定在将这些参数传递给构造函数时,您是以何种方式实例化第二个窗口的,但当您

我有两个不同的WPF项目。第一个应该启动第二个项目主窗口的新实例

ProjectOne类应该启动主窗口,它是MVVM模式中的一个VM,为第二个项目提供有用的信息

根据这些信息,第二个项目的行为将发生变化。假设我必须转移10个变量,项目有5种不同的行为,它们由这些变量决定

要求只使用一个构造函数实例化主窗口。 如果我只有一个构造函数,每个可能的行为都有10个变量和5个if语句,那就太糟糕了


处理此类问题的公认方法是什么?

我不确定在将这些参数传递给构造函数时,您是以何种方式实例化第二个窗口的,但当您希望在对象之间传递大量信息时,我建议将参数包装到两个项目都能识别的
结构中。这样,您只传递一个参数,而不是10个或更多


这样,无论您是从文件中读取这些参数,还是从第一个应用程序作为参数传递这些参数,构造函数都只需要一个参数。

您不能编写一个“DetermineState”方法,并将该方法的结果传递给project 2的构造函数吗?(例如,传递“ProjectTwoState”emum值)您的解释不够充分。例如,您总是需要这10个变量吗?在这种情况下,传入一个具有10个属性的类似乎有点明显。数据、行为和if语句的模式是什么?它们是否相互排斥。。。。还是怎样也许您可以使用继承并传入香蕉、苹果或菠萝,所有这些都继承自水果并重写extractjuice方法。我们只能猜测。