Wpf:警告CS0108:“MainWindow.Close”隐藏继承的成员“Window.Close()”,如果要隐藏,请使用new关键字

omhiaaxx  于 2022-12-05  发布在  其他
关注(0)|答案(1)|浏览(532)

我有Wpf dotnet 7.0 app here。它运行得很好。但是它给了我一个警告。
警告CS 0108“MainWindow.Close”隐藏继承的成员“Window.Close()”。如果有意隐藏,请使用new关键字。WpfStockAnalyzerHttpClient
C:\试用版\Ex\AsyncCSharp\src\apps\3040-WpfStockAnalyzerHttp客户端\主窗口.xaml
我不明白为什么?有人能告诉我如何修复吗?
当我使用以下命令运行应用程序时,我得到了同样的错误。

dotnet run --project ./WpfStockAnalyzerHttpClient.csproj

您可以在这里找到您的帐户。警告CS 0108:'MainWindow.Close'会隐藏继承的成员'Window.Close()'。如果想要隐藏,请使用new保留字。[C:\Trials\Ex\AsyncCSharp\src\apps\3040-WpfStockAnalyzerHttpClient\WpfStockAnalyzerHttpClient_ekqqvgub_wpftmp.csproj]

gmxoilav

gmxoilav1#

您已将MenuItem命名为“Close”。为元素指定名称时,Designer Studio的代码生成器将创建一个具有该名称的字段。
如果将光标移到“InitializeComponent”并按F12键,您可以看到代码生成器生成的文件。在第47行(这是我拥有的数字,您可能会有移位,但不多)您将看到“internal System.Windows.Controls MenuItem Close;“.
也就是说,实际上,您正在尝试创建一个与基本类型中已存在的“Close()”方法同名的字段。Studio会警告您此重叠。
若要修正此问题,请变更元素的名称:

<MenuItem x:Name="miClose" FontSize="20" Header="_Close" Click="Close_OnClick"/>

请记住,警告可能不会立即消失。Studio并不总是正确地跟踪代码生成器所做的更改。
但当您重新打开解决方案时,此警告肯定会被重置。

相关问题