Проблема с отображением VS Ошибка в списке ошибок с generi c Blazor View - PullRequest
0 голосов
/ 19 апреля 2020

Сообщение об ошибке: Обнаружен элемент разметки с неожиданным именем «TFilterViewModel». Если он предназначен для компонента, добавьте директиву @using для его пространства имен.

Это сообщение об ошибке не должно отображаться в списке ошибок, так как тип generi c TFilterViewModel имеет ограничение ComponentBase

, кроме того, отсутствует ошибка сборки. Сборка всегда успешна. Но VS показывает ошибку в списке ошибок и подчеркивает следующую строку красным цветом:

<TFilterViewModel ViewModel="@ViewModel" />

Просто ошибка отображения?

ViewModelFilter.razor

@using Common.Server.UI.ViewModels.Bases

@typeparam TModel
@typeparam TFilterViewModel

<h5><input type="checkbox" @bind="@FilterViewModel!.ShowFilter" disabled="@Disabled" />@Res.LabelFilter</h5>
@if (FilterViewModel.ShowFilter)
{
    <TFilterViewModel ViewModel="@ViewModel" /> // Error: Found markup element with unexpected name 'TFilterViewModel' (...)
}

@code
{
#nullable disable
    [Parameter] public IFilteredListViewModel<TFilterViewModel> FilterViewModel { get; set; }
    [Parameter] public TModel ViewModel { get; set; }
    [Parameter] public bool Disabled { get; set; }
#nullable restore
}

ViewModelFilter.razor .cs

using Microsoft.AspNetCore.Components;

namespace Common.Server.UI.Controls
{
    public interface IViewModelComponentBase<TModel>
    {
        public TModel ViewModel { get; set; }
    }

    public partial class ViewModelFilter<TModel, TFilterViewModel> : ComponentBase
        where TFilterViewModel : ComponentBase, IViewModelComponentBase<TModel>
    { }
}

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