-3

ここに画像の説明を入力

私は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 では、「メソッドに無効なパラメーターが含まれています」と表示されます

4

2 に答える 2

0

getLeftTopメソッドとgetRightTopメソッドにパラメーターを指定する必要があります。上記のコードから、doJudgeメソッドへの引数として関数自体を提供しようとしています

あなたの最後の更新に基づいて、あなたのラインは

j.doJudge(c.getLeftTop(), c.getRightTop(), f);
于 2012-11-19T07:02:31.130 に答える
0

クラスのインスタンスを引数として渡したい場合は、次のようにしてみてください。

public void Create(Object c)
{
   Class x = (Class)c; // type cast your class
}
于 2012-11-19T07:02:51.193 に答える