【问题标题】:Inheritance and Instantiating problem using ASP.Net Core 2.1 vs ASP.Net 4.1 MVC in Classes在类中使用 ASP.Net Core 2.1 与 ASP.Net 4.1 MVC 的继承和实例化问题
【发布时间】:2018-09-06 14:56:02
【问题描述】:

两个类都在不同的类文件中,但在同一个文件夹中。这是我的代码。

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();
 }

即使我使用实例化,即使它们在同一个文件夹中,它也不起作用。它给了我这个错误。

严重性代码描述项目文件行抑制状态 错误 CS0103 当前不存在名称“DateOfBirth” 上下文 PersonExercise D:\Exercises\PersonExercise\PersonExercise\Models\Zodiac.cs 12 活动

如果我使用实例化,它会给我这个错误。

严重性代码描述项目文件行抑制状态 错误 CS1061 'Person' 不包含 'DateOfBirth' 的定义 并且没有可访问的扩展方法“DateOfBirth”接受第一个 可以找到“人”类型的参数(您是否缺少使用 指令或程序集 参考?)PersonExercise D:\Exercises\PersonExercise\PersonExercise\Models\Zodiac.cs 12 Active

以下是有关问题的屏幕截图:

Using Inheritance

Using Instance

【问题讨论】:

  • 您遇到什么错误..?除了“日期时间”错误之外,它应该是DateTime
  • ASP.NET 与继承无关。继承是语言的一个特点。 文件夹也与继承无关。问题是什么?你尝试了什么?什么不工作?
  • 我不确定是什么问题。但它给我的 a 不包含错误或不存在。
  • 首先,你有一个错字。其次,错字改正后就没有错误了。
  • 检查我的答案,我告诉你这两个错误是什么意思。 @PanagiotisKanavos 还有其他问题,他试图通过 person.PropertyName 访问父类属性。

标签: c# asp.net-mvc asp.net-core-2.1


【解决方案1】:

看起来像一些错字+不完全理解继承。检查以下代码中的 cmets。

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();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-04
    • 1970-01-01
    • 2016-04-27
    • 1970-01-01
    • 1970-01-01
    • 2011-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多