对Microsoft WPF授权示例的模糊调用

时间:2016-03-21 16:46:56

标签: c# wpf form-authentication

我正在尝试了解桌面应用程序中的表单授权,并且我正在遵循Microsoft从此处开始的示例:http://blog.magnusmontin.net/2013/03/24/custom-authorization-in-wpf/。错误“以下方法或属性之间的调用不明确:'SecretWindow.SecretWindow()'和'SecretWindow.SecretWindow()'”生成,但是,在第316和318行:

if (parameter == null)
    view = new SecretWindow();//Error here
else
    view = new AdminWindow();//Error here

错误“Type ['SecretWindow'或'AdminWindow']已经定义了一个名为'.ctor'的成员,在这些行431和457上具有相同的参数类型:

public SecretWindow()//Error here
{
    InitializeComponent();
}

public AdminWindow()//Error here
{
    InitializeComponent();
}

对我来说,模糊调用看起来应该只是实例化类SecretWindow或AdminWindow,而我无法找到第二个错误中已定义方法的位置。任何人都可以看到发生了什么?提前谢谢!

修改

我删除了第一个项目并重试了教程,现在它可以正常工作。

1 个答案:

答案 0 :(得分:1)

错误告诉您,类SecretWindowAdminWindow都会多次声明其.ctor(构造函数)具有完全相同的签名。 简单地说,整个项目中出现public SecretWindow()public AdminWindow()的次数不止一次。

如您所见,每个从Window派生的生成视图都是 partial 类,即。它可能其他文件中的某些代码,也可以定义为SecretWindowAdminWindow

对于 Windows Presentation Foundation ,每个窗口都有预生成文件,该文件位于名为\obj\Debug的{​​{1}}文件夹中。 尝试删除项目的<ViewName>.g.i.cs文件夹中的所有内容,然后在Visual Studio中重建所有内容。

最快的方式是右键点击您的项目名称,然后选择 obj\Debug