第01部分
而不是制作一个窗口的对象,然后像这样显示:
private void prof(object sender, RoutedEventArgs e)
{
prof form = new prof();
form.Show();
}
private void multi(object sender, RoutedEventArgs e)
{
multi form = new multi();
form.Show();
}
private void userset(object sender, RoutedEventArgs e)
{
userset form = new userset();
form.Show();
}
private void sysset(object sender, RoutedEventArgs e)
{
sysset form = new sysset();
form.Show();
}
我想将窗口名称传递给一个类,该类可以执行这些操作
public void loadWindow (ref Window x)
{
x form = new x();
form.Show()
}
然后我想使用这些语法:
loadWindow(prof);
loadWindow(multi);
loadWindow(userset);
我该怎么做? 任何帮助将不胜感激
答案 0 :(得分:3)
如果我正确解释您的问题,那么您应该能够使用通用方法:
public void LoadWindow<TWindow>() where TWindow : Window, new()
{
var form = new TWindow();
form.Show();
}
然后你会这样称呼它:
LoadWindow<Window1>();
答案 1 :(得分:2)
使用泛型,
private void loadWindow<T>() where T : Window, new()
{
T w = new T();
w.Show();
}