c# - 成员名称不能与其在 g.cs 文件中的封闭类型相同

标签 c# wpf xaml

我已经在 StackOverflow 中搜索过这个问题的解决方案,但显然这次有所不同。 在我的 Windows Phone 应用程序中,当用户按下特定按钮时,应用程序应将他重定向到特定的全景页面,因此我遵循了以下方法:

http://blogs.msdn.com/b/aschapiro/archive/2012/07/21/navigating-directly-to-a-specific-screen-inside-a-panorama-or-pivot-page.aspx

但是当我编译解决方案时出现这个错误:

'donazione': member names cannot be the same as their enclosing type

但是这个错误是在编译时创建的donazione.xaml文件的.g.cs文件中,所以我看了一下,错误是:

namespace Avis {


public partial class donazione : Microsoft.Phone.Controls.PhoneApplicationPage {

    internal System.Windows.Controls.Grid LayoutRoot;

    internal Microsoft.Phone.Controls.Panorama donazione; <-- the error is in this line

    private bool _contentLoaded;

    /// <summary>
    /// InitializeComponent
    ....

显然尝试修改此文件不会解决任何问题,因此这里是导致此错误的 donazione.xaml 文件:

<phone:PhoneApplicationPage
x:Class="Avis.donazione"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:controls="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait"  Orientation="Portrait"
shell:SystemTray.IsVisible="False">

<Grid x:Name="LayoutRoot">
    <controls:Panorama x:Name="donazione">

        <!--Panorama item one-->
        <controls:PanoramaItem Header="Il sangue">
            <Grid/>
        </controls:PanoramaItem>

        <!--Panorama item two-->
        <controls:PanoramaItem Header="Perché Donare">
            <Grid/>
        </controls:PanoramaItem>
        <controls:PanoramaItem Header="Chi può donare">
            <Grid/>
        </controls:PanoramaItem>
        <controls:PanoramaItem Header="Come donare">
            <Grid/>
        </controls:PanoramaItem>
        <controls:PanoramaItem Header="Tipi di donazione">
            <Grid/>
        </controls:PanoramaItem>
        <controls:PanoramaItem Header="FAQ">
            <Grid/>
        </controls:PanoramaItem>
    </controls:Panorama>
</Grid>

我将其与操作方法进行了对比,但除了附加元素外,初始声明是相同的。

谁能帮帮我? 谢谢。

最佳答案

您的类(class)中不能有成员的名字与您的类(class)相同。

示例:

class Test
{
    int Test; // error
    int Test1; // OK
}

解决方案:

  • donazione 变量的名称更改为其他名称。
  • 既然它是一个 .g.cs 文件,您应该从设计 View 属性窗口执行此操作

关于c# - 成员名称不能与其在 g.cs 文件中的封闭类型相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23326569/

相关文章:

c# - 将文件从 ListView 拖放到 Windows 资源管理器?

c# - HttpClient .Result 在使用 [WebMethod] 属性时挂起

c# - 如何以编程方式将数据添加到 WPF 数据网格

c# - 如何从 MahApps.Metro 模板中删除窗口命令?

c# - WPF——绑定(bind)不工作

c# - 格式化 MultiBinding TimeSpan 以隐藏毫秒

c# - 客户数据库还是统一数据库哪个更好?

c# - 仅在 C# 代码中出现 SQL 语法错误

c# - 捕获全局异常是处理重新连接的好方法吗?

c# - 如何使用 ItemSsource 向 WPF ListBox 添加附加项?