XAML / cs - имена членов не могут совпадать с их типом включения (CS0542) после обновления пакетов - PullRequest
0 голосов
/ 06 июля 2018

Я только что обновил пакеты в своем приложении и получаю много новых ошибок этого типа, которые я не понимаю:

/Users/alan/Downloads/Japanese 31/Japanese/obj/Debug/Views/Help/GettingStarted.xaml.g.cs(51,51): 

Error CS0542: 'GettingStarted': member names cannot be the same as their enclosing type (CS0542) (Japanese)

У меня есть код XAML, который выглядит следующим образом;

<?xml version="1.0" encoding="UTF-8"?>
<ContentPage 
    xmlns="http://xamarin.com/schemas/2014/forms" 
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
    xmlns:local="clr-namespace:Japanese;assembly=Japanese"
    x:Class="Japanese.GettingStarted"
    x:Name="GettingStarted" 
    Title="Getting Started">
<ContentPage.Content>

Мой C #

using System;
using System.Collections.Generic;

using Xamarin.Forms;

namespace Japanese
{
    public partial class GettingStarted : ContentPage
    {
        public GettingStarted()
        {

Я неправильно кодирую свой XAML и cs? Я думал, что это способ сделать это с частичными классами и тем же именем класса.

1 Ответ

0 голосов
/ 06 июля 2018

x:Name="GettingStarted" это проблема. Это будет имя вашей страницы, но это также имя класса этой страницы. Указание значения для атрибута x:Name создает переменную с таким именем в вашем коде. Итак, что вы получите: GettingStarted GettingStarted = new GettingStarted(); Это, по меньшей мере, запутанно. Я предполагаю, что команда Xamarin столкнулась с проблемой с этими идентичными именами и типами и решила заблокировать ее.

Попробуйте придумать другое имя или, если вы не хотите использовать другой корпус, например: x:Name="gettingStarted"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...