首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 使用 VB My 命名空間:Computer、Audio、Network 便利功能快速存取

     編輯:關於C語言

前言

My 命名空間是 VB.NET 獨有的生產力功能,提供常用 .NET 類別的簡化進入點。C# 專案透過參考 Microsoft.VisualBasic.dll 即可使用相同功能。本文展示音訊播放、系統音效、網路連線測試等實務範例。

啟用步驟

  1. 專案右鍵 →「加入參考」→「組件」→「Framework」→勾選 Microsoft.VisualBasic
  2. 程式碼頂端加入:using Microsoft.VisualBasic.Devices;

核心類別:Computer

Computer 類別整合音訊、時鐘、檔案系統、資訊、鍵盤、滑鼠、網路、登錄、螢幕等功能。

建立實例


Computer myComputer = new Computer();

功能範例

1. 播放音訊檔案


// 標準 C# 寫法
var player = new SoundPlayer(@"C:\Beep.wav");
player.Play();

// My 寫法:更直觀
myComputer.Audio.Play(@"C:\Beep.wav");

2. 播放系統音效


// 標準寫法
SystemSounds.Asterisk.Play();

// My 寫法
myComputer.Audio.PlaySystemSound(System.Media.SystemSounds.Asterisk);

3. 網路連線測試 (Ping)


// 標準寫法:需使用 Ping 類別、處理例外
var ping = new Ping();
var reply = ping.Send("www.microsoft.com");
bool reachable = reply.Status == IPStatus.Success;

// My 寫法:一行語意化程式碼
if (myComputer.Network.IsAvailable)
{
    if (myComputer.Network.Ping("www.microsoft.com"))
    {
        MessageBox.Show("微軟網站可連線");
    }
}

4. 其他實用功能


// 檔案系統操作
myComputer.FileSystem.CopyDirectory(@"C:\Source", @"C:\Dest");
myComputer.FileSystem.DeleteFile(@"C:\Temp\test.txt");
string content = myComputer.FileSystem.ReadAllText(@"C:\Config.ini");

// 登錄存取
myComputer.Registry.SetValue(@"HKEY_CURRENT_USER\MyApp", "Setting", "Value");
string val = myComputer.Registry.GetValue(@"HKEY_CURRENT_USER\MyApp", "Setting", "Default");

// 螢幕資訊
int width = myComputer.Screen.Bounds.Width;
int height = myComputer.Screen.Bounds.Height;

// 鍵盤/滑鼠狀態
bool ctrlPressed = myComputer.Keyboard.CtrlKeyDown;
Point mousePos = myComputer.Mouse.Position;

標準 C# vs My 寫法對比

功能標準 C#My 命名空間
播放 WAVnew SoundPlayer(path).Play()computer.Audio.Play(path)
系統音效SystemSounds.Asterisk.Play()computer.Audio.PlaySystemSound(...)
Ping 網站new Ping().Send(host).Status == Successcomputer.Network.Ping(host)
複製目錄Directory.Copy(...) (需遞迴自寫)computer.FileSystem.CopyDirectory(...)
讀取文字檔File.ReadAllText(path)computer.FileSystem.ReadAllText(path)
寫入登錄Registry.SetValue(...)computer.Registry.SetValue(...)

優缺點分析

優點缺點
API 發現容易:IntelliSense 直接列出功能分類額外相依 Microsoft.VisualBasic.dll
語意化方法名:Audio.Play、Network.Ping 直觀易記非 C# 原生,團隊可能不熟悉
封裝常見樣板碼:複製目錄、Ping 等功能有限,複雜場景仍需原生 API
快速原型開發、腳本式程式碼跨平台專案 (.NET Core/.NET 5+) 需額外套件

.NET Core / .NET 5+ 相容性


// NuGet 安裝
dotnet add package Microsoft.VisualBasic

// 程式碼相同
using Microsoft.VisualBasic.Devices;
var computer = new Computer();
computer.Audio.Play("test.wav");

注意:Microsoft.VisualBasic.Devices.Computer 在 .NET Core 為跨平台實作,部分功能 (如登錄、系統音效) 僅限 Windows。

總結

My 命名空間為 C# 開發者提供 VB 風格的便利 API 進入點,適合快速開發、原型驗證、腳本自動化等場景。核心價值在於API 發現性與語意化命名,降低查閱文件成本。正式專案建議視團隊熟悉度與相依性策略決定是否採用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved