不包含定义,也没有接受第一个类型参数的扩展方法

时间:2013-11-19 08:27:46

标签: c# betfair

我已经查看过这个问题的一些解决方案,但它们似乎与我遇到的问题不同。

我试图打电话的方法:

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'类型的参数(是吗?   缺少using指令或程序集引用?)

我在CBetfairAPI类中使用任何其他方法都没有问题。如果我执行“CBetfairAPI”,则placeBets()不会出现在Visual Studio的下拉菜单中。 (所有其他方法和领域都这样做。)

感谢您的帮助。

3 个答案:

答案 0 :(得分:12)

placeBets(betList, stakeAmt)实例方法,而非静态方法。您需要先创建CBetfairAPI的实例:

MyBetfair api = new MyBetfair();
ArrayList bets = api.placeBets(betList, stakeAmt);

答案 1 :(得分:2)

声明CBetfairAPI类的实例或使其成为静态。

答案 2 :(得分:2)

有两种情况会引发此错误。

  1. 您没有声明使用的变量
  2. 您没有创建班级的实例