我想使用包含实例作为参数的方法

时间:2012-11-19 06:51:32

标签: c#

enter image description here

我是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说“该方法包含无效参数”

2 个答案:

答案 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
}