簡體   English   中英

C#靜態方法和控制台

[英]C# Static methods and Console

嗨,我在一個類中有一個靜態方法,在我的控制台應用程序中,我像這樣使用

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方法應用程序的返回值后, 靜態方法代碼執行完之后卻沒有得到執行,就像被暫停了一樣..該如何克服呢?

您的方法可能引發異常或阻塞(不返回)。

要判斷是否拋出異常,請在您的方法周圍進行try / catch並在catch塊中打印出所有異常。

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

如果您的方法根本不返回(例如,它可能在Console.ReadLine上被阻止),那么您將需要逐步進入調試器以了解原因。

另外,如果這是第一次訪問“ ClassName”類,則可能正在運行靜態構造函數(“類型構造函數”)。 有時,運行類型構造函數代碼並不明顯,但是如果您正在執行可能在此處阻塞的操作,那么這也可能是您的問題,而不僅僅是“ Method”方法。

停止應用程序的問題在於ClassName.Method(Para)調用,如果該方法阻塞了您的應用程序,則應在此進行進一步的查找。

嘗試執行以下操作以查找調用函數內部是否發生了任何錯誤:

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 ");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM