c# - 无法从字符串转换为类
问题描述
我创建了以下具有常量属性的类,因此我可以将其用作某种枚举。
public class Interval
{
public const string FiveMinutes = "5m";
public const string FifteenMinnutes = "15m";
public const string OneDay = "1d";
public const string OneWeek = "1wk";
public const string OneMonth = "1mo";
}
该方法的内容期望Interval
。
public IRestResponse GetSpark(string Symbol, Interval Interval)
{
var url = $"https://...?interval={Interval}";
return RestAPI.RestCall(url);
}
使用时Interval.OneWeek
出现错误“CS1503: Argument 2: cannot convert from 'string' to 'class.Enum.Interval'。”
var foo = new fooClass();
var fooMethod = fooClass.GetInfo("Example", Interval.OneWeek);
为什么我会收到此错误以及如何解决?
解决方案
假设调用实际上是:
fooClass.GetSpark("Example", Interval.OneWeek);
您使用两个字符串作为参数调用此方法:“Example”和“1wk”(Interval 中定义的 const 字符串)。GetSpark 方法实际上需要一个字符串和一个 Interval 类,这不是您提供的。
因此,将您的 GetSpark 方法重写为:
public IRestResponse GetSpark(string symbol, string interval)
{
var url = $"https://...?interval={interval}";
return RestAPI.RestCall(url);
}
推荐阅读
- node.js - 使用 ftp 和 electron 上传文件
- reactjs - 使用 react app 构建 docker 会抛出错误
- php - 添加活动提醒(客户可以在个人日历中保存日期和活动名称-需要登录)
- javascript - DraftJS getBlocksAsArray() 在生产中返回一个数组,但在 dev 中返回一个数组(并且可以工作)
- node.js - 无法在 export.handler (/var/task/index.js:4:34) 读取未定义的属性“0”
- oracle - Oracle 按范围分区
- python - 如何使用 Matplotlib 更新实时绘图
- unity3d - 如何获取对象的准确触摸位置以在同一位置添加新的子对象
- c# - 如何在具有代理影响的公司网络中使用 C# 连接到“imap.gmail.com”
- sql-server - 将加密与动态数据屏蔽相结合