55#if WINDOWS_UWP 
66using  Windows . System . Profile ; 
77#endif
8+ using  System . Runtime . CompilerServices ; 
89
910namespace  System 
1011{ 
@@ -14,6 +15,7 @@ namespace System
1415    public  static partial  class  OperatingSystem2 
1516    { 
1617#if __HAVE_XAMARIN_ESSENTIALS__  ||  ( ! NET5_0  &&  ! NET6_0  &&  ! NET7_0 ) 
18+         [ MethodImpl ( MethodImplOptions . AggressiveInlining ) ] 
1719        static int  GetInt32 ( int  value )  =>  value  <  0  ?  0  :  value ; 
1820
1921        static bool  IsVersionAtLeast ( int  major_left ,  int  minor_left ,  int  build_left ,  int  revision_left ,  int  major_right ,  int  minor_right ,  int  build_right ,  int  revision_right ) 
@@ -48,83 +50,37 @@ static bool IsVersionAtLeast(Version version_left, int major_right = 0, int mino
4850        /// <summary> 
4951        /// 当前是否使用 Mono 运行时。 
5052        /// </summary> 
51-         public  static bool  IsRunningOnMono  {  get ;  }  = 
53+         [ MethodImpl ( MethodImplOptions . AggressiveInlining ) ] 
54+         public  static bool  IsRunningOnMono ( ) 
55+         { 
5256#if __XAMARIN_ANDROID_v1_0__  ||  XAMARIN_MAC  ||  XAMARIN_IOS  ||  XAMARIN_WATCHOS  ||  XAMARIN_TVOS 
53-             true ; 
57+             return   true ; 
5458#else
55-         Type . GetType ( "Mono.Runtime" )   !=   null ; 
59+              return   IsRunningOnMono_ ; 
5660#endif
61+         } 
5762
58- #if ! WINDOWS_UWP  &&  ! ( NETSTANDARD1_0  ||  NETSTANDARD1_1  ||  NET35  ||  NET40 ) 
59-         static byte  isAvaloniaDesktop ; 
60- #endif
61-         static bool  IsDesktop_ ( ) 
62-         { 
63- #if WINDOWS_UWP 
64-             return  AnalyticsInfo . VersionInfo . DeviceFamily  ==  "Windows.Desktop" ; 
63+ #if __XAMARIN_ANDROID_v1_0__  ||  XAMARIN_MAC  ||  XAMARIN_IOS  ||  XAMARIN_WATCHOS  ||  XAMARIN_TVOS 
6564#else
66- #if __HAVE_XAMARIN_ESSENTIALS__ 
67-             var  idiom  =  DeviceInfo . Idiom ; 
68-             if  ( idiom  ==  DeviceIdiom . Desktop )  return  true ; 
69-             if  ( idiom  !=  DeviceIdiom . Unknown )  return  false ; 
70- #endif
71-             if  ( Application . UseWindowsForms  ||  Application . UseWPF ) 
72-             { 
73-                 return  true ; 
74-             } 
75- #if ! ( NETSTANDARD1_0  ||  NETSTANDARD1_1  ||  NET35  ||  NET40 ) 
76-             else  if  ( Application . UseAvalonia ) 
77-             { 
78-                 if  ( isAvaloniaDesktop  ==  0 ) 
79-                 { 
80-                     try 
81-                     { 
82-                         var  currentAvaloniaApplication  =  Application . Types . Avalonia ! . GetProperty ( "Current" ,  BindingFlags . Static  |  BindingFlags . Public ) ? . GetValue ( null ) ; 
83-                         if  ( currentAvaloniaApplication  !=  null ) 
84-                         { 
85-                             var  applicationLifetime  =  Application . Types . Avalonia . GetProperty ( "ApplicationLifetime" ,  BindingFlags . Instance  |  BindingFlags . Public ) ? . GetValue ( currentAvaloniaApplication ) ; 
86-                             if  ( applicationLifetime  !=  null ) 
87-                             { 
88-                                 if  ( applicationLifetime . GetType ( ) . ToString ( ) . Contains ( "Desktop" ) ) 
89-                                 { 
90-                                     isAvaloniaDesktop  =  1 ; 
91-                                 } 
92-                             } 
93-                         } 
94-                     } 
95-                     catch 
96-                     { 
97-                         isAvaloniaDesktop  =  2 ; 
98-                     } 
99-                 } 
100-                 return  isAvaloniaDesktop  ==  1 ; 
101-             } 
65+         static bool  IsRunningOnMono_  {  get ;  }  =  Type . GetType ( "Mono.Runtime" )  !=  null ; 
10266#endif
103-             return  false ; 
104- #endif
105-         } 
106- 
107-         /// <summary> 
108-         /// 指示当前应用程序是否正在 Desktop 上运行。 
109-         /// </summary> 
110-         public  static bool  IsDesktop  => 
111-             _IsDesktop . Value ; 
112-         static readonly  Lazy < bool >  _IsDesktop  =  new ( IsDesktop_ ) ; 
11367
11468        /// <summary> 
11569        /// 指示当前应用程序是否正在仅支持应用商店的平台上运行。 
11670        /// </summary> 
117-         public  static bool  IsOnlySupportedStore  => 
71+         [ MethodImpl ( MethodImplOptions . AggressiveInlining ) ] 
72+         public  static bool  IsOnlySupportedStore ( )  => 
11873#if NETFRAMEWORK  ||  __MACOS__  ||  NET5_0_WINDOWS  ||  NET6_0_WINDOWS  ||  NET7_0_WINDOWS  ||  __ANDROID__ 
11974            false ; 
12075#else
121-             IsIOS  ||  IsWatchOS  ||  IsTvOS ; 
76+             IsIOS ( )  ||  IsWatchOS ( )  ||  IsTvOS ( ) ; 
12277#endif
12378
12479        /// <summary> 
12580        /// 获取当前系统版本号。 
12681        /// </summary> 
127-         public  static Version  Version  => 
82+         [ MethodImpl ( MethodImplOptions . AggressiveInlining ) ] 
83+         public  static Version  Version ( )  => 
12884#if NETSTANDARD1_0 
12985            throw  new  PlatformNotSupportedException ( ) ; 
13086#elif NETSTANDARD1_1  ||  WINDOWS_UWP 
0 commit comments