Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么这个.net核心webapi端点有两个类?_C#_Oop_Asp.net Core_.net Core - Fatal编程技术网

C# 为什么这个.net核心webapi端点有两个类?

C# 为什么这个.net核心webapi端点有两个类?,c#,oop,asp.net-core,.net-core,C#,Oop,Asp.net Core,.net Core,我正试图使用默认的webapi模板来理解.NETAPI项目结构 dotnet new webapi -n quickstart 为什么我要为这个weatherforcast端点设置两个类 公共类WeatherForecast.cs只是一个公共类,但它看起来像是一个接口?其在控制器中的访问方式如下: [HttpGet] public IEnumerable<WeatherForecast> Get() { var rng = new Random(); return

我正试图使用默认的webapi模板来理解.NETAPI项目结构

dotnet new webapi -n quickstart
为什么我要为这个weatherforcast端点设置两个类

公共类
WeatherForecast.cs
只是一个公共类,但它看起来像是一个接口?其在控制器中的访问方式如下:

[HttpGet]
public IEnumerable<WeatherForecast> Get()
{
    var rng = new Random();
    return Enumerable.Range(1, 5).Select(index => new WeatherForecast
    {
        Date = DateTime.Now.AddDays(index),
        TemperatureC = rng.Next(-20, 55),
        Summary = Summaries[rng.Next(Summaries.Length)]
    })
    .ToArray();
}
为什么我要创建一个像WeatherForecast那样的单独类?这个模式叫什么?它是如何连接到控制器的?我想我也很困惑,因为WeatherForecast.cs只是一个普通类,不是一个接口,但它可能正在转换为一个接口?在翻阅文档时,我很难弄清楚这种模式/结构是什么,也弄不清描述其“为什么”部分的初级文档

编辑 WeatherForecast.cs是模型课程吗?因为当我研究它时,我看到一种更常见的模式似乎是将模型类放在“models”文件夹中,而不是放在项目的根目录中。

你问的是“WeatherForecast.cs”。。。但是你没有给我们看你的WeatherForecast.cs

但是是的,它可能是一个类,它的使用方式与Java程序员使用Java“接口”的方式类似

具体来说,它可能有,也可能看起来像这样:

[HttpGet]
public IEnumerable<WeatherForecast> Get()
{
    var rng = new Random();
    return Enumerable.Range(1, 5).Select(index => new WeatherForecast
    {
        Date = DateTime.Now.AddDays(index),
        TemperatureC = rng.Next(-20, 55),
        Summary = Summaries[rng.Next(Summaries.Length)]
    })
    .ToArray();
}
WeatherClass.cs

public class WeatherClass 
{
  public double TemperatureC { get; set; }
}
这是一个“模型”。有关更多详细信息,请阅读此链接:

模型类表示特定于域的数据和业务逻辑 在MVC应用程序中。它将数据的形状表示为公共 属性和业务逻辑作为方法


你的问题毫无意义。WeatherForcast似乎是你的模型。我不明白你在问什么,但它被转换成了一个接口,也许是什么让你这么说?