大家好,我是新手,目前是计算机科学专业的大一学生。我们已经进行了一项练习,其中我们必须使用方法将华氏温度转换为摄氏温度(教授建议不要使用静态方法)。我们从C#开始。这是我的代码。
namespace Week3_Exe3._1{
public class Formula
{
public double F;
public double C;
public void calculate(double F, double C)
{
C = (5 / 9) * (F - 32);
}
public static void Main(string[] args)
{
Console.WriteLine("Please enter the Fahrenheit you wish to convert");
F = double.Parse(Console.ReadLine());
Formula form = new Formula();
Console.WriteLine(F + "Fahrenheit correspond to " + form.calculate() + "Degrees celcius");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我目前正在使用Visual Studio Community 2015并在form.calculate中使用错误将计算结果冲掉
CS7036 C#没有给出与“ Formula.calculate(double,double)”的所需形式参数“”相对应的参数
我搜索了它,但仍然不明白缺少了什么。我创建了一个要使用的实例,但无法正常工作。谁能给我答案?
我一直在.NET核心API项目,我实现了一个基于这个例子中(在溶液中)后台任务在这里。我已经为我的 api 控制器使用了一些全局异常处理,并且根据要求,我必须删除所有 try catch 语句并改为提供简单的 HttpStatusCodes。
我需要通过创建一个从任何其他类继承的全局异常处理类来为我的后台任务/任务做同样的事情,并通过记录异常而不使系统崩溃来发挥它的“魔力”。我还必须避免每个请求的 try/catch 语句。
到目前为止我的代码 HostedService
public class MyHostedService : CustomExceptionFilter, IHostedService
{
private Timer _timer;
private readonly IServiceScopeFactory _scopeFactory;
private readonly ILogger _logger;
public SchedulerHostedService(IServiceScopeFactory scopeFactory)
{
_scopeFactory = scopeFactory;
_logger = new LoggerManager();
}
public Task StartAsync(CancellationToken cancellationToken)
{
_logger.Info("Background Service is starting");
_timer = new Timer(ExecuteTask, null, TimeSpan.Zero, TimeSpan.FromMinutes(30));
return Task.CompletedTask;
}
private void ExecuteTask(object state)
{
_ = ExecuteTaskOperationAsync();
}
private async Task ExecuteTaskOperationAsync()
{
using (IServiceScope scope …Run Code Online (Sandbox Code Playgroud) 我事先在各种来源中搜索了我的问题,但答案并没有为我提供解决方案。
我使用此处介绍的方式在 .net core 2.2 项目中实现了基于 Url 的 Web api 版本控制。我用于版本控制的版本是最新的 Microsoft.AspNetCore.Mvc.Versioning 3.1.2。我还尝试从以下来源了解它是如何工作的:source1、source2、source3、source4。
我在名为 Initial 的文件夹中有一个带有 GET 方法的 ValueController,在名为 New 的文件夹中有一个 Value2Controller。这两个文件夹都是“Controllers”文件夹的子文件夹。
结构如下:
ValueController中的路由是
[Route("api/v{version:apiVersion}/[controller]")]
在 Value2Controller 中是:
[Route("api/v{version:apiVersion}/value")]
我还在options.EnableEndpointRouting = false;Startup.cs 中进行了设置,并尝试调用 api/v1/value 或 api/v2/value。两次我都收到错误:多个操作匹配。它无法区分两个控制器的操作。
我尝试services.AddApiVersioning();完全不使用任何选项并删除 AddVersionedApiExplorer。这是行不通的。唯一有效的方法是放入
[Route("api/v{version:apiVersion}/[controller]")]
两个控制器并进行以下 api 调用:
api/v1/value和api/v2/value2。
我的startup.cs中的配置如下:
services.AddApiVersioning(options =>
{
options.ReportApiVersions = true;
options.AssumeDefaultVersionWhenUnspecified = true;
options.DefaultApiVersion = new ApiVersion(1, 0);
options.ApiVersionReader = new UrlSegmentApiVersionReader();
options.UseApiBehavior = …Run Code Online (Sandbox Code Playgroud)