2011-06-27 18 views
0

こんにちは私は私のコンソールアプリケーションでは、私はこのC#の静的メソッドとコンソール

Console.writeLine("Some thing Some thing"); 

Console.writeLine("Some thing Some thing"); 

String X=ClassName.Method(Para); <--- Check here 


Console.writeLine("Some thing after some thing "); 

Console.writeLine("Some thing after some thing "); 

としてのように使用し、クラスに静的メソッドを持っている私の問題は、その後静的メソッドの実行コードの後でstatcメソッドの戻り値を取得した後に実行されることはありませんアプリケーションは停止されています..これを克服する方法は?

+3

、これは正常な動作ではありません。 – Fender

+0

「停止した」とはどういう意味ですか? –

+1

試してみましたかキャッチまたはデバッグして、静的関数にステップしましたか? – crashmstr

答えて

4

あなたのメソッドが例外をスローしているか、ブロックしている可能性があります(返されません)。

例外がスローされたかどうかを確認するには、try/catchをメソッドの周りに置き、例外をcatchブロックに出力します。

try 
{  
String X=ClassName.Method(Para); <--- Check here 
} 
catch (Exception e) 
{ 
Console.WriteLine("{0}", e); 
} 

あなたの方法は単純に戻っていない場合(例えば、それはConsole.ReadLineにブロックされる可能性があります)、あなたはなぜ見るためにデバッガでステップ実行する必要があります。

また、初めて "ClassName"クラスにアクセスする場合、静的コンストラクタ( "型コンストラクタ")を実行している可能性があります。時には型のコンストラクタコードが実行されていることは明らかではありませんが、そこでブロックする可能性のあるものを実行している場合は、 "Method"メソッドだけでなく、これもあなたの問題かもしれません。

2

アプリケーションが停止する問題は、ClassName.Method(Para)コールにあります。そのメソッドがアプリケーションをブロックしている場合は、そこをさらに調べる必要があります。

1

は間違っ任意のものは、呼び出し元の関数の内部で何が起こっている場合を見つけるために、これを試してみてください:

Console.writeLine("Some thing Some thing");  
Console.writeLine("Some thing Some thing");  

try 
{  
String X=ClassName.Method(Para); <--- Check here 
}  

catch(Exception e) 
{ 
Console.writeLine(e.Message); 
} 

Console.writeLine("Some thing after some thing ");  
Console.writeLine("Some thing after some thing "); 
関連する問題