Nasıl tuzak ctrl-c bir C# konsol uygulaması
Tuzak ctrl-c C olmak istiyorum# çıkmadan önce bazı temizlemeler yürütmek böylece bir konsol uygulaması. Bunu yapmanın en iyi yolu nedir?
CEVAP
Console.CancelKeyPress bu olay için kullanılır. Bu nasıl kullanılacağı
public static void Main(string[] args)
{
Console.CancelKeyPress = delegate {
// call methods to clean up
};
while (true) {}
}
Kullanıcı Ctrl C tuşuna bastığında temsilci kodu çalıştırılır ve program çıkar. Bu necessairy yöntemlerini çağırarak temizleme gerçekleştirmek için izin verir. Temsilci sonra kod çalıştırılır unutmayın.
Bu yetmez, diğer durumlar vardır. Eğer program şu anda önemli hesaplamalar yapmak, örneğin, hemen durdurulamaz. Bu durumda, doğru strateji programı hesaplama tamamlandıktan sonra çıkmak için söylemek olabilir. Aşağıdaki kod, bu uygulanabilir bir örnek verir:
class MainClass
{
private static bool keepRunning = true;
public static void Main(string[] args)
{
Console.CancelKeyPress = delegate(object sender, ConsoleCancelEventArgs e) {
e.Cancel = true;
MainClass.keepRunning = false;
};
while (MainClass.keepRunning) {}
Console.WriteLine("exited gracefully");
}
}
Bu kodu ve ilk örnek arasındaki fark e.Cancel
yürütme temsilci sonra devam ediyor demek ki doğru olarak ayarlanmış olmasıdır. Çalıştırırsanız, program kullanıcı while döngüsünden çıkılmasına neden keepRunning
varible değişiklikleri değeri Olduğunda Ctrl C tuşuna basın bekler. Bu programı incelikle çıkış yapmak için bir yoldur.
Uygulama nasıl olsun'in yolu s ed...
Nasıl çıkış kodu belirtin bir konsol u...
Nasıl C hemen çıkılıyor konsol uygulam...
Nasıl bir C için bir zamanlayıcı eklem...
Nasıl bir konsol uygulaması hata ayıkl...