2011-08-02 46 views
-6

我想在單獨的類中調用方法,我該怎麼做?類在同一個項目作爲當前類如何在單獨的類中調用方法

+0

艾米特,你有沒有學過這門語言? –

+0

我可以建議閱讀一些基本的C#/ OOP書籍或教程嗎?或者,解釋你所嘗試的是什麼,出了什麼問題或者你遇到問題的具體部分? –

回答

4

有點含糊也許讀了,但假定:

public class ClassA 
{ 

    public void ClassAMethod() 
    { 
    } 
} 

public class ClassB 
{ 

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

簡而言之,你必須實例化具有要調用的方法的類(除非它是一個static類),然後通過實例化的類調用該方法。

1

如果該方法是靜態的,你可以調用它像這樣:

ClassName.MethodName(); 

如果方法不是靜態的,那麼你需要首先創建一個實例然後調用實例上的方法。像這樣:

ClassName instance = new ClassName(); 
instance.MethodName(); 

顯然這將改變如果你的類的構造函數或你的方法有參數,但應該讓你在正確的球場。

1

簡單的例子:

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

有兩種方法。如果其它類是靜態的(或方法是靜態的),你可以把它直接OtherClass.Method() 否則,你將需要的類的實例來調用方法:

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

但是我更多的如果你問這樣的問題,面向對象編程的基礎知識。

1

實例化該類的一個實例。然後調用該方法。如果方法是靜態的,你可以直接調用它。
實施例:

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 
} 

讀也在MSDN:MethodsAccess Modifiers

相關問題