c# - 如何创建要在 C# 中重用的函数
问题描述
我正在研究 MACD。MACD 函数太长,我正在重复代码。我想创建一个函数 SMA 并将其调用到 MACD 函数。我创建了这个类,但出现错误:
namespace myBackEnd
{
public class SMA
{
public decimal SMA (Queue<Models.DateClose> queue, int period) <--- error here
{
decimal average, sum=0;
for (int i = 0; i < period; i++)
{
Models.DateClose dateClose;
dateClose = queue.Dequeue();
sum += dateClose.Close;
}
return average = sum/period;
}
}
我收到错误“成员名称不能与封闭名称相同”。我该如何解决这个问题?
解决方案
那是因为您不能定义与类名相同的方法名(异常:)Constructor
。编译器可能认为它是一个构造函数,但它不可能是因为成员函数具有返回类型而构造函数不能。所以本质上提供一个单独的有意义的名字,比如
public decimal SMAMethod (Queue<Models.DateClose> queue, int period)
推荐阅读
- powershell - Powershell toLower Get-FileHash
- python - 错误说在使用 Discord.py 时 change_presence 不是 NoneType 的属性
- asp.net - blazor 项目中的自定义 AuthenticationStateProvider 在服务器端不起作用
- openstreetmap - Openstreetmap - 从给定城市检索附近有大学的城市
- python - CDLIB:NMI(归一化互信息)功能不起作用,有人可以帮忙吗?
- azure - Strimzi 无法调整 PV 的大小
- firebase - 如何将当前 DateTime 添加到 firestore 文档?
- pandas - 如何在带有熊猫的 csv 文件中输出带间距的列?
- centos7 - 如何解决错误:无法初始化 NSS 库?
- angular - 使用 Angular 的 Excel 插件:找不到 dist/functions.json