我有一个表如何避免长时间开关
ID Name
1 New York
2 California
3 Maine
4 Ohio
5 Washington
我能找到基于ID的匹配,用户会通过。
但是我希望能够调用一个WPF视图基于通过的ID。
我该如何避免编写一个长开关语句?
我有一个表如何避免长时间开关
ID Name
1 New York
2 California
3 Maine
4 Ohio
5 Washington
我能找到基于ID的匹配,用户会通过。
但是我希望能够调用一个WPF视图基于通过的ID。
我该如何避免编写一个长开关语句?
不知道我理解你的问题,但如果你需要能够调用特定城市的特定视图,那么可能最容易将这些信息存储在数据中。您可以在城市表格中添加一列,或者创建另一张表格以加入,以确定城市是否应该获得自定义视图。从那里,使用反射旋转你需要的视图。
我使用ID和视图名创建交叉表。因此,如果未来视图发生变化,它将是一个简单的数据库更改。 –
做一个解释
Dictionary<int,View> dictionary=new Dictionary<int,View>();
dictionary.Add(1,new NewYorkView());
dictionary.Add(2,new California());
或只是一个列表
Type[] viewTypes=new Type[null,typeof(NewYorkView),typeof(CaliforniaView),,,,,];
,当你收到ID:
dictionary[ID].Show();
不知道你的数据结构那是不可能回答 – thumbmunkeys
怎么办你的意思是基于ID调用WPF视图?这完全是另一种观点吗?或者你可以将该视图的组合委托给视图本身,并将该ID作为参数传递给它? –
使用静态**地图/字典**。在数据库中添加**第二列**。使用该元数据的属性**来装饰您的**视图(并带有一点反思)。使用一些关于命名**的约定。使用多个** IFs **开关intead。 **您尝试过?** –