C# 不包含的定义,并且找不到接受类型为的第一个参数的扩展方法
我环顾了一下这个问题的一些解决方案,但它们似乎与我所经历的不一样 我尝试调用的方法:C# 不包含的定义,并且找不到接受类型为的第一个参数的扩展方法,c#,betfair,C#,Betfair,我环顾了一下这个问题的一些解决方案,但它们似乎与我所经历的不一样 我尝试调用的方法: namespace BetfairAPI { public class CBetfairAPI { public ArrayList placeBets(ArrayList betList, double stakeSize) { // code to betList maniplulate return betL
namespace BetfairAPI
{
public class CBetfairAPI
{
public ArrayList placeBets(ArrayList betList, double stakeSize)
{
// code to betList maniplulate
return betList;
}
}
}
我从中调用的方法:
namespace Bot
{
public partial class Form1 : Form
{
private void makeBets(MarketSummary mkt, double odds, double stakeAmt)
{
ArrayList betList = new ArrayList();
// code to build "betList"
ArrayList bets = MyBetfair.placeBets(betList, stakeAmt);
}
}
}
}
我收到的错误:
错误1“BetfairAPI.CBetfairAPI”不包含“placeBets”和无扩展方法“placeBets”接受第一个 找不到类型为“BetfairAPI.CBetfairAPI”的参数(是否为 缺少使用指令或程序集引用?) 在CBetfairAPI类中使用任何其他方法都没有问题。如果我使用“CBetfairAPI”,则placeBets()不会显示在Visual studio的下拉菜单中。(所有其他方法和字段都会显示) 感谢您的帮助。
placeBets(betList,stakeAmt)
是一种实例方法,而不是静态方法。您需要首先创建CBetfairAPI
的实例:
MyBetfair api = new MyBetfair();
ArrayList bets = api.placeBets(betList, stakeAmt);
声明CBetfairAPI类的实例或将其设为静态。有两种情况会引发此错误
变量
MyBetfair
在何处以及如何声明?尽管这两个变量都很有帮助,但最好明确说明您认为OP的特殊问题是什么。在这种情况下,看起来接受的答案已经解决了问题(因为这是一个相当古老的问题)。但在将来,如果你发布的答案是一个完整的解决方案,而不仅仅是强调可能的解决方案,那就最好了。