2011-08-02 3 views
-6

別のクラスのメソッドを呼びたいのですが、どうすればいいですか?一言で言えば別のクラスのメソッドの呼び出し方法

public class ClassA 
{ 

    public void ClassAMethod() 
    { 
    } 
} 

public class ClassB 
{ 

    public void ClassBMethod() 
    { 
     ClassA classAInstance = new ClassA(); 
     classAInstance.ClassAMethod(); 
    } 
} 

、あなたがする必要があります:クラスが現在のクラス

+0

Amit、あなたは全く言語を習得しましたか? –

+0

基本的なC#/ OOPの本やチュートリアルを読むことをお勧めしますか?または、何を試したのか、何が問題になったのか、問題がある特定の部分について説明します。 –

答えて

4

をよく読んで、しかし、次のことを前提と同じプロジェクト内にあります(staticクラスでない限り)呼び出すメソッドを持つクラスをインスタンス化し、インスタンス化されたクラスを通してメソッドを呼び出します。メソッドが静的である場合は、そのようにそれを呼び出すことができます

1

:メソッドが静的でない場合

ClassName.MethodName(); 

あなたが最初のインスタンスでメソッドを呼び出してインスタンスを作成する必要があります。同様に:

あなたのクラスのコンストラクタまたはメソッドにパラメータがある場合は、これは明らかに変更されますが、右のボールパークに入るはずです。

1

簡単な例:

var objectHoldingMyMethod = new myClassName(); 
    objectHoldingMyMethod.myMethod(); 
1

二つの方法があります。他のクラスには、静的である(またはメソッドは静的である)場合は、そうでない場合は、あなたが上のメソッドを呼び出すために、クラスのインスタンスが必要になります直接OtherClass.Method() それを呼び出すことができます。

var newInstance = new OtherClass(); 
newInstance.Method(); 

しかし、私は多くを読みましたあなたがこのような質問をしているなら、オブジェクト指向プログラミングの基礎。

1

そのクラスのインスタンスをインスタンス化します。そのメソッドを呼び出します。メソッドが静的だった場合は、直接呼び出すことができます。
例:MethodsAccess Modifiers:MSDNでも

public class Class1 
{ 
    public static void PrintHellow() 
    { 
     Console.WriteLine("Hellow!") 
    } 

    public void printGoodBy() 
    { 
     Console.WriteLine("Good by!") 
    } 

    private void Hidden() 
    { 
     Console.WriteLine("I am hidden from other classes out there!"); 
    } 
} 

static void Main() 
{ 
    Class1.PrintHellow();//this is a static method you can call it directly. 

    //Class1.PreintGoodBy();//This is not valid since the method is not static 

    Class1 class1Instance = new Class1(); 
    class1Instance.PrintGoodBy();//this is how to call none static method from a class 

    //classInstance.Hidden();//this is not valid call since this method marked as private 
} 

読みます。

関連する問題