我在Main
方法中写道:
zeichnen.OpenField(spiel.testReturner, spiel.testReturnerZwei);
错误是:参数1:
在我的Game
课程中我有这个:
public int testReturner()
{
return _minenArray[5, 5];
}
public int testReturnerZwei()
{
return _boolArray[5, 5];
}
我的Drawing
类中的方法是:
public void OpenField(int[,] minenArray, bool[,] boolArray)
Game
类中的bool返回有以下错误:
无法隐式转换类型' bool'到' int'
答案 0 :(得分:4)
这意味着您没有调用这些方法,并且方法的返回值不适用于OpenField
。
尝试将您的方法重新设计为这样。这是您提供的代码中有根据的猜测。
public int[,] testReturner()
{
return new int[5, 5]; // or _minenArray
}
public bool[,] testReturnerZwei()
{
return new bool[5, 5]; // or _boolArray
}
答案 1 :(得分:1)
像你这样改变你的游戏类
public int[,] testReturner
{
get{return _minenArray;}
}
public bool[,] testReturnerZwei
{
get{return _boolArray;}
}
<强>更新强>
使用
zeichnen.OpenField(spiel.testReturner, spiel.testReturnerZwei);
答案 2 :(得分:0)
你很可能想写:
zeichnen.OpenField(spiel.testReturner(), spiel.testReturnerZwei());
你没有调用这些方法。
答案 3 :(得分:0)
这有很多问题。
首先,您传递方法而不是实际参数。其次,您的testReturner
和testReturnerZwei
方法返回SINGLE数值,而您尝试调用的方法OpenField
需要一个整数值数组和一个布尔值数组。
如果不知道确切的上下文以及您正在尝试做什么,很难说明需要采取哪些措施才能使您的代码完全按照您希望的方式工作。
以下是我的快速建议:
public int[,] testReturner
{
//assuming _minenArray is an array of arrays, as you still need to return an array
get { return _minenArray[5, 5]; }
}
public bool[,] testReturnerZwei
{
//assuming _boolArray is an array of arrays, as you still need to return an array
get { return _boolArray[5, 5]; }
}
这会将testReturner
和testReturnerZwei
从方法转换为参数。另外,请注意代码中的注释。
答案 4 :(得分:-1)
public int testReturner()
{
return _minenArray[5, 5];
}
public bool testReturnerZwei()
{
return _boolArray[5, 5];
}
替换为此类型转换错误,您使用int代替bool。