try personalizadas exceptions example create catch exception mono console c#-3.0 window

personalizadas - Establecer System.Console.WindowHeight arroja una excepción System.NotSupportedException en Mono



throw exception c# (1)

Desde la rama principal en mono en Github Console.cs :

[MonoLimitation ("Only works on windows")] public static int WindowHeight { get { return ConsoleDriver.WindowHeight; } set { ConsoleDriver.WindowHeight = value; } }

Observe el atributo MonoLimitation

Recibo una Unhandled Exception: System.NotSupportedException: Operation is not supported. La excepción se genera bajo Mono usando Ubuntu 11.10.

Leer la propiedad funciona . Los documentos podrían sugerir que el Método no plantea problemas.

¿Alguna idea sobre cómo manejar o arreglar mejor esta situación?

Mi solución actual es bastante incómoda y no resuelve el problema de configurar el tamaño de la ventana a través de System.Console-API:

const int defaultConsoleWindowWidth = 80; const int defaultConsoleWindowHeight = 25; if (pid != PlatformID.Unix && pid != (PlatformID)128) { System.Console.WindowHeight = lastConsoleWindowHeight; System.Console.WindowWidth = defaultConsoleWindowWidth; }else{ //assume *NIX system try { var p = new Process(); p.StartInfo = new ProcessStartInfo(@"stty cols " + defaultConsoleWindowWidth + " rows " + lastConsoleWindowHeight, "-n") { UseShellExecute = false }; p.Start(); p.WaitForExit(); } catch (Exception e) { /*...*/} }

Mi versión Mono :

lo@lo-VirtualBox:~/Desktop$ mono --version Mono JIT compiler version 2.10.8.1 (Debian 2.10.8.1-1ubuntu2.2) Copyright (C) 2002-2011 Novell, Inc, Xamarin, Inc and Contributors. www.mono-project.com TLS: __thread SIGSEGV: altstack Notifications: epoll Architecture: x86 Disabled: none Misc: softdebug LLVM: supported, not enabled. GC: Included Boehm (with typed GC and Parallel Mark)