我是C#的新手。我想使用包含实例作为参数的方法。
Class c = new Class();
object.method(c);
完整的代码在这里:
public partial class MainWindow : Window
{
ControllerDevice c; // interface
Judge j;
FallingRect f;
public MainWindow()
{
c = new Kinect(this); // class implement interface
j = new Judge();
InitializeComponent();
c.start();
f = new FallingRect(this, -200);
/*
* Question code
*/
j.doJudge(c.getLeftTop, c.getRightTop, f);
}
}
interface ControllerDevice
{
Point getRightTop();
Point getLeftTop();
void start();
}
Visual Studio说“该方法包含无效参数”。
答案 0 :(得分:0)
您需要为getLeftTop和getRightTop方法提供参数;从上面的代码中你试图提供函数本身作为doJudge方法的参数
根据您的上次更新,您应该
j.doJudge(c.getLeftTop(), c.getRightTop(), f);
答案 1 :(得分:0)
如果你想传递一个类的实例作为参数尝试这样..
public void Create(Object c)
{
Class x = (Class)c; // type cast your class
}