-3
あるクラスから別のクラスのメソッドを使用しようとすると問題が発生します(メソッドはMain
で正常に実行されます)。私のMain
ではBoard
をboard
とRenderer
としてrenderer
としてインスタンス化しますが、それらをstatic
にしない限りそのインスタンスのメソッドを使用することはできませんが、理由はわかりません。名前空間は同じですが、私は答えを探しましたが、理解できませんでした。私はここに何か基本的なコンセプトがないと思う。非スタティックにオブジェクト参照が必要です
class MainClass
{
public static void Main (string[] args)
{
Console.WriteLine ("Main Test is working.");
Board board = new Board();
Renderer render = new Renderer();
board.MyBoard();
}
}
}
public class Renderer
{
public Renderer()
{
Console.WriteLine ("Renderer is up and instantiated.");
}
public void Render()
{
Console.WriteLine ("Render is up and instantiated.");
Console.WriteLine ("Render is REALLY up.");
}
}
public class Board
{
public Board()
{
Console.WriteLine ("Board is up and instantiated.");
}
public void MyBoard()
{
Console.WriteLine ("My Board is up.");
Renderer.Render();//here's where I get the error
}
}
感謝を:ちょうど
MyBoard()
方法にレンダラのインスタンスを渡すと、このインスタンスにRender()
を呼び出し、このコンパイルエラーを修正するには。私がメインでやっていることではない? "Renderer render = new Renderer();"それともメイン以外の場所に置く必要がありますか?ありがとう。 – Novacaine31
私の答えの更新を見てください。 – CodeFuller
これは機能します。どうもありがとうございます。今、私は流れとそれがどのように設定される必要があるのかを理解しています。これを本から学ぶことは、本当に誰にでも尋ねることはできません。おそらく簡単な質問ではありません。 – Novacaine31