.NET平台開源項目速覽(17)FluentConsole讓你的控制台酷起來


    從該系列的第一篇文章 .NET平台開源項目速覽(1)SharpConfig配置文件讀寫組件 開始,不知不覺已經到第17篇了。每一次我們都是介紹一個小巧甚至微不足道的.NET平台的開源軟件,或者學習,或者使用,或者介紹,或者分析原理等等,其實這個過程也讓我了解了很多東西。也希望這個分享系列繼續給大家帶來收獲,根據大家的評論和反應,其實說明這些小的組件都還不錯,可以提高開發效率。

    今天繼續給大家介紹一款簡單到爆的開源組件,但是可以讓你的控制台瞬間高大上。

1.控制台能有啥滑頭?

    借用新生命論壇的一張圖片,其實X組件里面也能這樣控制,只不過我今天看到的組件使用起來更流程和功能單一一點。忽略圖中內容,看控制台顏色:

  看到別人的控制台花花綠綠,其實挺好玩的,是不是感覺逼格很高?

  如果可以非常靈活的自由控制顏色,那該多好?

  沒錯,So Easy。。。其實很簡單。其實Console里面都提供了這些控制功能。只不過作為入門級的Console,貌似沒多少人會想到去研究這里面的東西。

  來看看我們今天的主題:FluentConsole

2.FluentConsole基本介紹

  FluentConsole是一個托管在github的C#開源組件,地址:https://github.com/ashmind/FluentConsole

  FluentConsole,主要功能非常簡單,意思是更流程的控制台。。其實真的Very Fluent。一起看看,時間很短,5分鍾足以。他的基本功能有:

1.可以控制Console輸入的背景,以及字體的顏色;

2.可以使用條件輸出和控制;

3.標准的鏈式寫法,非常靈活和流暢,體驗很棒。

  看看下面的例子和效果。

3.使用介紹

    FluentConsole使用非常簡單,我們在這里提供2個小節,主要是基本的和擴展的

3.1 基本用法

    可以使用FluentConsole.Instance或者FluentConsole來直接操作對應顏色和文字。

    我們在使用過程中Line代表換行輸出,效果等同於Console.WriteLine

                                Text代表直接輸出,不換行,效果等同於Console.Write

     可以使用BackGround設置背景,設置字體顏色直接是Text或者Line。看看下面的代碼和注釋 

FluentConsole.White.Background.Black.Line("Black");
FluentConsole
	.Cyan.Line("Cyan")
	.DarkBlue.Line("DarkBlue")
	.DarkCyan.Line("DarkCyan")
	.DarkGray.Line("DarkGray")
	.DarkGreen.Line("DarkGreen")
	.DarkMagenta.Line("DarkMagenta")
	.DarkRed.Line("DarkRed")
	.DarkYellow.Line("DarkYellow")
	.Gray.Line("Gray")
	.Green.Line("Green")
	.Magenta.Line("Magenta")
	.Red.Line("Red")
	.White.Line("White")
	.Yellow.Line("Yellow");
Console.ReadKey();

 效果如下:

public static void TestByStatic()
{
	//Text相當於 Console.Write
	//Line相當於 Console.WriteLine

	//將控制台的顏色對象直接用於設置輸出的Text
	FluentConsole.Yellow.Text("輸入黃色字體");

	FluentConsole.Yellow.Background
				 .Blue.Line("設置黃色背景,和藍色文字");

	FluentConsole.Yellow.Text("黃色")
				 .Red.Line("紅色");

	var console = FluentConsole.Instance;
	console.Red.Text("另外的用法");

	//條件用法
	FluentConsole.Yellow.Line("當前對象狀態:")
				 .With(c => 10 > 8 ? c.Red : c.Blue)
				 .Text("成功");
}

 

4.資源

  官網:https://github.com/ashmind/FluentConsole

  源代碼與Demo:

  怎么樣?趕緊去嘗試一下嗎?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM