Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / clr / src / BCL / System / OperatingSystem.cs / 1 / OperatingSystem.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: OperatingSystem ** ** ** Purpose: ** ** ===========================================================*/ namespace System { using System.Runtime.Serialization; using System.Globalization; using System.Security.Permissions; using System.Runtime.InteropServices; [ComVisible(true)] [Serializable()] public sealed class OperatingSystem : ICloneable , ISerializable { private Version _version; private PlatformID _platform; private string _servicePack; private string _versionString; private OperatingSystem() { } public OperatingSystem(PlatformID platform, Version version) : this(platform, version, null) { } internal OperatingSystem(PlatformID platform, Version version, string servicePack) { if( platform < PlatformID.Win32S || platform > PlatformID.Unix) { throw new ArgumentException( String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("Arg_EnumIllegalVal"), (int)platform), "platform"); } if ((Object) version == null) throw new ArgumentNullException("version"); _platform = platform; _version = (Version) version.Clone(); _servicePack = servicePack; } private OperatingSystem(SerializationInfo info, StreamingContext context) { SerializationInfoEnumerator enumerator = info.GetEnumerator(); while( enumerator.MoveNext()) { switch( enumerator.Name) { case "_version": _version = (Version) info.GetValue("_version", typeof(Version)); break; case "_platform": _platform = (PlatformID) info.GetValue("_platform", typeof(PlatformID)); break; case "_servicePack": _servicePack = info.GetString("_servicePack"); break; } } if (_version == null ) { throw new SerializationException(Environment.GetResourceString("Serialization_MissField", "_version")); } } [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)] public void GetObjectData(SerializationInfo info, StreamingContext context) { if( info == null ) { throw new ArgumentNullException("info"); } info.AddValue("_version", _version); info.AddValue("_platform", _platform); info.AddValue("_servicePack", _servicePack); } public PlatformID Platform { get { return _platform; } } public string ServicePack { get { if( _servicePack == null) { return string.Empty; } return _servicePack; } } public Version Version { get { return _version; } } public Object Clone() { return new OperatingSystem(_platform, _version, _servicePack ); } public override String ToString() { return VersionString; } public String VersionString { get { if(_versionString != null) { return _versionString; } String os; if (_platform == PlatformID.Win32NT) os = "Microsoft Windows NT "; else if (_platform == PlatformID.Win32Windows) { if ((_version.Major > 4) || ((_version.Major == 4) && (_version.Minor > 0))) os = "Microsoft Windows 98 "; else os = "Microsoft Windows 95 "; } else if (_platform == PlatformID.Win32S) os = "Microsoft Win32S "; else if (_platform == PlatformID.WinCE) os = "Microsoft Windows CE "; else os = ""; if( String.IsNullOrEmpty(_servicePack)) { _versionString = os + _version.ToString(); } else { _versionString = os + _version.ToString(3) + " " + _servicePack; } return _versionString; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: OperatingSystem ** ** ** Purpose: ** ** ===========================================================*/ namespace System { using System.Runtime.Serialization; using System.Globalization; using System.Security.Permissions; using System.Runtime.InteropServices; [ComVisible(true)] [Serializable()] public sealed class OperatingSystem : ICloneable , ISerializable { private Version _version; private PlatformID _platform; private string _servicePack; private string _versionString; private OperatingSystem() { } public OperatingSystem(PlatformID platform, Version version) : this(platform, version, null) { } internal OperatingSystem(PlatformID platform, Version version, string servicePack) { if( platform < PlatformID.Win32S || platform > PlatformID.Unix) { throw new ArgumentException( String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("Arg_EnumIllegalVal"), (int)platform), "platform"); } if ((Object) version == null) throw new ArgumentNullException("version"); _platform = platform; _version = (Version) version.Clone(); _servicePack = servicePack; } private OperatingSystem(SerializationInfo info, StreamingContext context) { SerializationInfoEnumerator enumerator = info.GetEnumerator(); while( enumerator.MoveNext()) { switch( enumerator.Name) { case "_version": _version = (Version) info.GetValue("_version", typeof(Version)); break; case "_platform": _platform = (PlatformID) info.GetValue("_platform", typeof(PlatformID)); break; case "_servicePack": _servicePack = info.GetString("_servicePack"); break; } } if (_version == null ) { throw new SerializationException(Environment.GetResourceString("Serialization_MissField", "_version")); } } [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)] public void GetObjectData(SerializationInfo info, StreamingContext context) { if( info == null ) { throw new ArgumentNullException("info"); } info.AddValue("_version", _version); info.AddValue("_platform", _platform); info.AddValue("_servicePack", _servicePack); } public PlatformID Platform { get { return _platform; } } public string ServicePack { get { if( _servicePack == null) { return string.Empty; } return _servicePack; } } public Version Version { get { return _version; } } public Object Clone() { return new OperatingSystem(_platform, _version, _servicePack ); } public override String ToString() { return VersionString; } public String VersionString { get { if(_versionString != null) { return _versionString; } String os; if (_platform == PlatformID.Win32NT) os = "Microsoft Windows NT "; else if (_platform == PlatformID.Win32Windows) { if ((_version.Major > 4) || ((_version.Major == 4) && (_version.Minor > 0))) os = "Microsoft Windows 98 "; else os = "Microsoft Windows 95 "; } else if (_platform == PlatformID.Win32S) os = "Microsoft Win32S "; else if (_platform == PlatformID.WinCE) os = "Microsoft Windows CE "; else os = " "; if( String.IsNullOrEmpty(_servicePack)) { _versionString = os + _version.ToString(); } else { _versionString = os + _version.ToString(3) + " " + _servicePack; } return _versionString; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ImageMap.cs
- Formatter.cs
- SecurityElement.cs
- PolicyReader.cs
- ClientTarget.cs
- DataServiceKeyAttribute.cs
- XmlNavigatorFilter.cs
- UIElementPropertyUndoUnit.cs
- ValueOfAction.cs
- SafeRegistryHandle.cs
- UserInitiatedNavigationPermission.cs
- COAUTHINFO.cs
- URI.cs
- CallContext.cs
- TableChangeProcessor.cs
- Package.cs
- HttpCachePolicy.cs
- UIElementAutomationPeer.cs
- UrlMapping.cs
- FontFamilyConverter.cs
- ByteStorage.cs
- XmlChoiceIdentifierAttribute.cs
- HandleExceptionArgs.cs
- DataSourceControl.cs
- AsyncResult.cs
- TabPage.cs
- HScrollBar.cs
- WebBrowser.cs
- IsolatedStoragePermission.cs
- DrawingGroupDrawingContext.cs
- TextModifierScope.cs
- ToolStripItem.cs
- RoleGroupCollection.cs
- ActionItem.cs
- InheritanceRules.cs
- TypeBuilder.cs
- XmlSchemaAnnotation.cs
- PagesSection.cs
- IERequestCache.cs
- ByteStream.cs
- XmlDictionaryReaderQuotas.cs
- DbConnectionStringBuilder.cs
- AppDomainAttributes.cs
- FlowLayoutPanelDesigner.cs
- DefaultTraceListener.cs
- SubclassTypeValidatorAttribute.cs
- BaseTreeIterator.cs
- BindUriHelper.cs
- SendMailErrorEventArgs.cs
- PersonalizationState.cs
- WebConfigurationFileMap.cs
- SelectionPatternIdentifiers.cs
- SqlServer2KCompatibilityCheck.cs
- CodeCastExpression.cs
- TreeNodeCollection.cs
- UpdatePanelTriggerCollection.cs
- StorageFunctionMapping.cs
- SourceSwitch.cs
- GeometryValueSerializer.cs
- DetailsViewModeEventArgs.cs
- DictionaryEntry.cs
- SocketInformation.cs
- DrawingContextDrawingContextWalker.cs
- AutomationPatternInfo.cs
- FileDialogCustomPlacesCollection.cs
- Constants.cs
- SafeLibraryHandle.cs
- ParallelEnumerable.cs
- FacetEnabledSchemaElement.cs
- Membership.cs
- NetworkInformationException.cs
- SpeechUI.cs
- CompositeActivityDesigner.cs
- SiteOfOriginPart.cs
- XPathDocumentNavigator.cs
- arclist.cs
- BCLDebug.cs
- PhysicalOps.cs
- System.Data.OracleClient_BID.cs
- AssemblyCache.cs
- KeyBinding.cs
- WorkItem.cs
- DesignerDataSchemaClass.cs
- ThreadAbortException.cs
- RsaEndpointIdentity.cs
- Types.cs
- SafeNativeMethods.cs
- ThousandthOfEmRealDoubles.cs
- TimerExtension.cs
- dsa.cs
- EmptyEnumerator.cs
- CompiledQuery.cs
- ProfilePropertyNameValidator.cs
- TdsParserHelperClasses.cs
- ExpressionConverter.cs
- HttpHandlerAction.cs
- ListBindingConverter.cs
- ContentPresenter.cs
- Normalization.cs
- UnsafeNativeMethods.cs