1、OperatingSystem
它的主要作用是:
- 查看当前程序运行在什么系统(Windows、Linux、macOS、Android 等)。
- 判断系统版本号(比如 Windows 10、Android 12、macOS 13)。
- 方便做兼容性判断 —— 在代码里你可以根据不同系统或版本,决定是否启用某些功能。
成员名称 | 类型 | 说明(通俗易懂) |
---|---|---|
ServicePack | 属性 (string) | 操作系统的补丁/服务包版本,没有就返回空字符串。 |
Platform | 属性 (PlatformID) | 系统平台类型(Windows、Linux、MacOSX 等)。 |
Version | 属性 (Version) | 系统版本号(主版本、次版本、构建号、修订号)。 |
VersionString | 属性 (string) | 平台 + 版本号 + 服务包的完整字符串描述。 |
IsAndroid() | 静态方法 | 判断是否在 Android 系统运行。 |
IsAndroidVersionAtLeast(…) | 静态方法 | 判断 Android 版本是否大于等于指定版本。 |
IsBrowser() | 静态方法 | 判断是否在浏览器 (WASM) 运行。 |
IsFreeBSD() | 静态方法 | 判断是否在 FreeBSD 系统运行。 |
IsFreeBSDVersionAtLeast(…) | 静态方法 | 判断 FreeBSD 版本是否大于等于指定版本。 |
IsIOS() | 静态方法 | 判断是否在 iOS 或 MacCatalyst 系统运行。 |
IsIOSVersionAtLeast(…) | 静态方法 | 判断 iOS/MacCatalyst 版本是否大于等于指定版本。 |
IsLinux() | 静态方法 | 判断是否在 Linux 系统运行。 |
IsMacCatalyst() | 静态方法 | 判断是否在 Mac Catalyst 运行。 |
IsMacCatalystVersionAtLeast(…) | 静态方法 | 判断 Mac Catalyst 版本是否大于等于指定版本。 |
IsMacOS() | 静态方法 | 判断是否在 macOS 运行。 |
IsMacOSVersionAtLeast(…) | 静态方法 | 判断 macOS 版本是否大于等于指定版本。 |
IsOSPlatform(string platform) | 静态方法 | 判断是否在指定平台运行(参数写 “Windows”、”Linux”、”iOS” 等)。 |
IsOSPlatformVersionAtLeast(…) | 静态方法 | 判断指定平台的版本是否大于等于某个版本。 |
IsTvOS() | 静态方法 | 判断是否在 tvOS 运行。 |
IsTvOSVersionAtLeast(…) | 静态方法 | 判断 tvOS 版本是否大于等于指定版本。 |
IsWasi() | 静态方法 | 判断是否在 WASI 环境运行。 |
IsWatchOS() | 静态方法 | 判断是否在 watchOS 运行。 |
IsWatchOSVersionAtLeast(…) | 静态方法 | 判断 watchOS 版本是否大于等于指定版本。 |
IsWindows() | 静态方法 | 判断是否在 Windows 系统运行。 |
IsWindowsVersionAtLeast(…) | 静态方法 | 判断 Windows 版本是否大于等于指定版本。 |
Demo:
using System.Runtime.InteropServices;
Console.WriteLine($"当前系统版本是否大于10:{OperatingSystem.IsWindowsVersionAtLeast(10)}");
var os = Environment.OSVersion;
Console.WriteLine($"当前系统:{os.VersionString}");
2、ModuleInitializer
在Main函数前执行:
using System.Runtime.CompilerServices;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Main函数执行");
}
}
public static class InitModule
{
[ModuleInitializer]
internal static void Init()
{
Console.WriteLine("在Main函数前执行");
}
}
声明:来自硅基-桂迹,仅代表创作者观点。链接:https://eyangzhen.com/2834.html