Наследование и создание проблемы с использованием ASP.Net Core 2.1 против ASP.Net 4.1 MVC в классах - PullRequest
0 голосов
/ 05 сентября 2018

Оба класса находятся в разных файлах классов, но в одной папке. Это мой код.

public class Person
{
    public String FirstName { get; set; }
    public String LastName { get; set; }
    public String Email { get; set; }
    public DateTime DateOfBirth { get; set; }
}

public class Zodiac : Person
{
   public Zodiac()
   {
      //person.DateOfBirth = DateTime.Now;
      DateOfBirth = DateTime.Now;// this doesn't work either
   }
      //Person person = new Person();
 }

Даже если я использую Instantiation, он не работает, даже если они находятся в одной папке. Это дает мне эту ошибку.

Код серьезности Описание Состояние подавления строки файла проекта Ошибка CS0103 Имя DateOfBirth не существует в текущем context PersonExercise D: \ Exercises \ PersonExercise \ PersonExercise \ Models \ Zodiac.cs 12 Active

Если я использую Instantiation, она выдаст мне эту ошибку.

Код серьезности Описание Состояние подавления строки файла проекта Ошибка CS1061 «Персона» не содержит определения для «DateOfBirth» и нет доступного метода расширения DateOfBirth, принимающего первый может быть найден аргумент типа «Персона» (вы не используете директива или собрание ссылка?) PersonExercise D: \ Exercises \ PersonExercise \ PersonExercise \ Models \ Zodiac.cs 12 Активные

Вот скриншоты о проблеме:

Использование наследования

Использование экземпляра

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

Я заметил, что проблема с кодом заключалась в том, что я поставил класс Persons внутри класса Person property. Это вероятный эффект опечатки.

Вот как выглядит код:

public class Person
{
    public class Persons //I've remove this class and the code runs perfectly.
    {
        public String FirstName { get; set; }
        public String LastName { get; set; }
        public String Email { get; set; }
        public DateTime DateOfBirth { get; set; }

    }
}

Как будто я вкладываю класс в класс. Так что дайте мне путаницу. \

0 голосов
/ 05 сентября 2018

Похоже на некоторую опечатку + непонимание полностью наследования. Проверьте комментарии в следующем коде.

public class Zodiac : Person
{
    public Zodiac()
    {
      person.DateOfBirth = DateTime.Now; // This would not work, you have not declared an object named "person", note it is commented.
      DateOfBirth = Datetime.Now;// this doesn't work. <-- Indeed, there is a typo
      DateOfBirth = DateTime.Now;// this would work, note the uppercase Time.
    }
    //Person person = new Person();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...