Пространство имен страниц бритвы конфликтует с библиотекой классов - PullRequest
1 голос
/ 15 апреля 2020

У меня есть страница бритвы с пространством имен вроде MyApp.Pages.MyClass. На этой странице cs html Я пытаюсь сослаться на enum в библиотеке классов с пространством имен типа MyClass.Enums.MyEnum. Я не могу найти способ ссылаться на этот тип перечисления, так как использование полностью определенного пространства имен (или попытка добавить предложение using) приводит к ошибке «Тип или пространство имен не существует», поскольку он обрабатывает MyClass.Enums.MyEnum относительно текущее пространство имен MyApp.Pages.MyClass. Есть ли способ, которым я могу ссылаться на тип enum без переименования задействованных пространств имен?

1 Ответ

0 голосов
/ 15 апреля 2020

У меня есть страница бритвы с пространством имен вроде MyApp.Pages.MyClass. На этой странице cs html Я пытаюсь сослаться на перечисление в библиотеке классов с пространством имен, например MyClass.Enums.MyEnum.

, что приводит к ошибке «Тип или пространство имен не существует»

Может воспроизвести ту же проблему, если мы назовем класс модели страницы как MyClass, а не MyClassModel.

namespace MyApp
{

    public class MyClass : PageModel

На MyClass.cshtml странице и ошибка, как показано ниже.

enter image description here

Чтобы исправить это, вы можете переименовать класс модели вашей страницы, например MyClassModel et c.

Вы также можете попробовать другой подход для создания и используйте вложенное пространство имен, как показано ниже.

namespace MyApp
{
    namespace MyAppNestedNamespace
    {
        public class MyClass : PageModel
        {
            public void OnGet()
            {

                //...
            }

            //...
        }
    }

}

Страница MyClass.cs html может выглядеть следующим образом:

@page
@model MyAppNestedNamespace.MyClass

@using MyClass.Enums

@{
    ViewData["Title"] = "MyClass";
}

<h1>MyClass</h1>

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