Microsoft WPF 授权示例的模糊调用
Ambiguous Call on Microsoft WPF Authorization Example
我正在尝试了解桌面应用程序中的表单授权,我正在按照 Microsoft 从此处重新记录的示例进行操作:http://blog.magnusmontin.net/2013/03/24/custom-authorization-in-wpf/。但是,在第 316 和 318 行会生成错误 "The call is ambiguous between the following methods or properties: 'SecretWindow.SecretWindow()' and 'SecretWindow.SecretWindow()'":
if (parameter == null)
view = new SecretWindow();//Error here
else
view = new AdminWindow();//Error here
并且错误“类型 ['SecretWindow' 或 'AdminWindow'] 已经在这些行 431 和 457 上使用相同的参数类型定义了一个名为 '.ctor' 的成员:
public SecretWindow()//Error here
{
InitializeComponent();
}
和
public AdminWindow()//Error here
{
InitializeComponent();
}
对我来说,模棱两可的调用看起来应该只是实例化 类 SecretWindow 或 AdminWindow,我找不到在第二个错误中已经定义方法的位置。谁能看到发生了什么事?提前致谢!
编辑:
我删除了第一个项目并重试了教程,现在可以了。
错误告诉你的是 class SecretWindow
和 AdminWindow
都不止一次地用完全相同的签名声明它们的 .ctor
(构造函数)。
简单地说,public SecretWindow()
和 public AdminWindow()
在整个项目中出现不止一次。
如您所见,每个从 Window
派生的视图都是 partial
class,即。它可能在其他文件中有它的一些代码,也有SecretWindow
或AdminWindow
.
的定义
对于 Windows Presentation Foundation
,每个 window 还预生成了位于名为 <ViewName>.g.i.cs
的 \obj\Debug
文件夹中的文件。
尝试删除项目 obj\Debug
文件夹中的所有内容,然后重建 Visual Studio.
中的所有内容
最快的方法是右键单击您的项目名称并选择 Open Folder in File explorer
.
我正在尝试了解桌面应用程序中的表单授权,我正在按照 Microsoft 从此处重新记录的示例进行操作:http://blog.magnusmontin.net/2013/03/24/custom-authorization-in-wpf/。但是,在第 316 和 318 行会生成错误 "The call is ambiguous between the following methods or properties: 'SecretWindow.SecretWindow()' and 'SecretWindow.SecretWindow()'":
if (parameter == null)
view = new SecretWindow();//Error here
else
view = new AdminWindow();//Error here
并且错误“类型 ['SecretWindow' 或 'AdminWindow'] 已经在这些行 431 和 457 上使用相同的参数类型定义了一个名为 '.ctor' 的成员:
public SecretWindow()//Error here
{
InitializeComponent();
}
和
public AdminWindow()//Error here
{
InitializeComponent();
}
对我来说,模棱两可的调用看起来应该只是实例化 类 SecretWindow 或 AdminWindow,我找不到在第二个错误中已经定义方法的位置。谁能看到发生了什么事?提前致谢!
编辑:
我删除了第一个项目并重试了教程,现在可以了。
错误告诉你的是 class SecretWindow
和 AdminWindow
都不止一次地用完全相同的签名声明它们的 .ctor
(构造函数)。
简单地说,public SecretWindow()
和 public AdminWindow()
在整个项目中出现不止一次。
如您所见,每个从 Window
派生的视图都是 partial
class,即。它可能在其他文件中有它的一些代码,也有SecretWindow
或AdminWindow
.
对于 Windows Presentation Foundation
,每个 window 还预生成了位于名为 <ViewName>.g.i.cs
的 \obj\Debug
文件夹中的文件。
尝试删除项目 obj\Debug
文件夹中的所有内容,然后重建 Visual Studio.
最快的方法是右键单击您的项目名称并选择 Open Folder in File explorer
.