質問自体はちょっと騒々しく聞こえます。別のクラスから非静的メソッドを呼び出すには、そのクラスの現在のインスタンスを使用する必要があります。私は2番目のクラスに呼び出したいメソッドでクラスのインスタンスを取得しようとしました。私は成功したと思いますが、それでもまだ動作していません。C#で別のクラスから非静的メソッドを呼び出すにはどうすればよいですか?
私は2番目のクラスにインスタンスを持参しようとしたか、この一つの方法:
arbeitsbearbeitung arbeitenbearbeitung = new arbeitsbearbeitung(arbeit);
arbeitenbearbeitung.Parent = this;
arbeitenbearbeitung.Show();
(クラス1のうち)
そして、私はクラス2でそれを使用場所です:
Form frm = (Form)this.Parent;
frm.updateGrid();
また、パラメータとして渡すような方法で試しました。同じ結果が...
これはクラス1でupdateGrid()
です:
public void updateGrid()
{
klassenarbeitenTableAdapter.Fill(this.database1DataSet.Klassenarbeiten);
}
それはフォームがupdateGrid
の定義が含まれていないことを私に伝えます。
私はダムでなければなりませんが、私は間違いを見つけることができません。
考えて2時間もグーグルで、まだ手掛かりはありません。
私は今や気分が悪いです。ご協力ありがとうございました!
私は私の場合、私はクラスの現在のインスタンスが必要と思うので、私は変更を可視のフォーム上にしたいと思う。または私は間違っていますか? – Milanisius
@Milanisius:はい、フォームを1つしか開いていない場合は、そのフォームを使用する必要があります。つまり、新しいインスタンスを新しく作成した場合は役に立ちません。しかし、一般的に(フォームではなくクラスについて話していた)、多くのオブジェクトにアクセスできます。 –