2010-10-29 118 views
-3

是的,我是C#的新手,但我是一位體面的Java開發人員。好的,我在Visual Studio中有一個program.cs文件和一個Class.cs文件。我所要做的就是打電話給中Program.cs的方法。我有一個令人沮喪的錯誤。名稱'mymethod'在當前上下文中不存在。如果我註釋掉方法調用mymethod(parameter);,所有其他代碼都可以正常工作,但我無法擺脫該錯誤。我將不勝感激任何幫助。C#方法調用錯誤

public class Class 
{ 
    public void myMethod() 
{ 

class Program 
{ 
    static void Main(string[] args) 
{ 
+4

沒有人可以幫助你,直到你發佈一些代碼。請使用您的代碼編輯您的回覆,並更改您的問題標題以反映您遇到的具體問題。 – Brad 2010-10-29 13:54:21

+1

通常這些被稱爲構建或編譯器錯誤,而不是bug代碼必須運行以產生錯誤。 – rerun 2010-10-29 13:57:22

+1

對於Java開發人員來說,所有這些答案都是蹩腳的。因爲他們只是想象你寫的代碼。分享您的代碼,我們將分享我們的想法。 – 2010-10-29 14:03:35

回答

5

這不行?

public class Class 
{ 
    public void myMethod() 
    { 

    } 
} 

class Program 
{ 
    static void Main(string[] args) 
    { 
     Class c = new Class(); 
     c.myMethod(); 
    } 
} 
+0

對不起,我會從現在開始發佈我的代碼。答案確實有效,我只需要將所有代碼放在一個文件中即可。這就是我在Java中做的。所以我因爲使用​​了兩個不同的文件而在我的腳踝上「走在公園裏」。 (class文件和program/main()文件 – 2010-10-29 15:32:02

+0

@nuclearpro - 請記住,當你在不同的文件中有代碼時,這些類可能存在於不同的命名空間中(特別是如果它們也在不同的文件夾中)。檢查你的命名空間,然後檢查你的保護級別 – 2010-12-11 23:23:41

1

我猜你沒有把公共在問題前面的方法。

+0

我不相信這是真的,除非他們對體面的Java開發人員的定義有點缺陷 – ChaosPandion 2010-10-29 13:59:40

+2

@ChaosPandion:雖然你有一個有效的點,我不再爲這些日子的事情感到驚訝。 – 2010-10-29 14:03:17

+0

@Moo - +1爲*「while」*。 – ChaosPandion 2010-10-29 14:11:44

1

或者,您可能沒有將該方法標記爲靜態?

+0

答案確實有效我只需將所有代碼放在一個文件中。這就是我在Java中做的。所以我因爲使用​​了兩個不同的文件而在我的腳踝上「走在公園裏」。 (類文件和程序/ main()文件。好神,我的第一個問題,我越來越p!! – 2010-10-29 15:35:33

0

你可能會調用該方法無需先創建一個對象:

public class MyClass 
{ 
    public void MyMethod() 
    { 
    } 
} 

MyClass.MyMethod(); 

,必須先創建一個實例:

var obj = new MyClass(); 
obj.MyMethod();