Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / OperatingSystem.cs / 1305376 / 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; using System.Diagnostics.Contracts; [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.MacOSX) { throw new ArgumentException( Environment.GetResourceString("Arg_EnumIllegalVal", (int)platform), "platform"); } if ((Object) version == null) throw new ArgumentNullException("version"); Contract.EndContractBlock(); _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")); } } [System.Security.SecurityCritical] // auto-generated_required public void GetObjectData(SerializationInfo info, StreamingContext context) { if( info == null ) { throw new ArgumentNullException("info"); } Contract.EndContractBlock(); 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; switch(_platform) { case PlatformID.Win32NT: os = "Microsoft Windows NT "; break; case PlatformID.Win32Windows: if ((_version.Major > 4) || ((_version.Major == 4) && (_version.Minor > 0))) os = "Microsoft Windows 98 "; else os = "Microsoft Windows 95 "; break; case PlatformID.Win32S: os = "Microsoft Win32S "; break; case PlatformID.WinCE: os = "Microsoft Windows CE "; break; case PlatformID.MacOSX: os = "Mac OS X "; break; default: os = ""; break; } 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; using System.Diagnostics.Contracts; [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.MacOSX) { throw new ArgumentException( Environment.GetResourceString("Arg_EnumIllegalVal", (int)platform), "platform"); } if ((Object) version == null) throw new ArgumentNullException("version"); Contract.EndContractBlock(); _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")); } } [System.Security.SecurityCritical] // auto-generated_required public void GetObjectData(SerializationInfo info, StreamingContext context) { if( info == null ) { throw new ArgumentNullException("info"); } Contract.EndContractBlock(); 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; switch(_platform) { case PlatformID.Win32NT: os = "Microsoft Windows NT "; break; case PlatformID.Win32Windows: if ((_version.Major > 4) || ((_version.Major == 4) && (_version.Minor > 0))) os = "Microsoft Windows 98 "; else os = "Microsoft Windows 95 "; break; case PlatformID.Win32S: os = "Microsoft Win32S "; break; case PlatformID.WinCE: os = "Microsoft Windows CE "; break; case PlatformID.MacOSX: os = "Mac OS X "; break; default: os = " "; break; } 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
- VirtualizingPanel.cs
- GroupStyle.cs
- GuidelineSet.cs
- WebScriptMetadataMessageEncoderFactory.cs
- TemplateInstanceAttribute.cs
- XmlSchemaAny.cs
- FilePresentation.cs
- ComAdminInterfaces.cs
- WinEventHandler.cs
- COM2IPerPropertyBrowsingHandler.cs
- DbReferenceCollection.cs
- HttpWriter.cs
- VSDExceptions.cs
- StorageConditionPropertyMapping.cs
- DataGridViewImageCell.cs
- Button.cs
- GetPageCompletedEventArgs.cs
- basecomparevalidator.cs
- DateTimeStorage.cs
- NetTcpSectionData.cs
- Vector3DCollection.cs
- MaskInputRejectedEventArgs.cs
- ElementHost.cs
- SqlCachedBuffer.cs
- SoapExtensionTypeElementCollection.cs
- DynamicControl.cs
- SafeSecurityHelper.cs
- DispatcherHookEventArgs.cs
- SafeHandles.cs
- WebPartZoneCollection.cs
- StructuredTypeEmitter.cs
- Script.cs
- SafeWaitHandle.cs
- CompModSwitches.cs
- BitmapMetadataBlob.cs
- SiteMapHierarchicalDataSourceView.cs
- WorkflowServiceAttributesTypeConverter.cs
- SourceFileBuildProvider.cs
- wgx_render.cs
- ExpressionBinding.cs
- PasswordRecovery.cs
- SmiSettersStream.cs
- AttributeQuery.cs
- FtpWebRequest.cs
- TransformCollection.cs
- BufferedWebEventProvider.cs
- SafeRightsManagementHandle.cs
- Camera.cs
- AssociationTypeEmitter.cs
- UnsafeNativeMethodsCLR.cs
- GeneralTransform3DGroup.cs
- OracleBFile.cs
- WebEvents.cs
- CompilerScope.Storage.cs
- Keyboard.cs
- EntityStoreSchemaFilterEntry.cs
- Helpers.cs
- TypeNameParser.cs
- DoubleConverter.cs
- Base64Decoder.cs
- ProfileServiceManager.cs
- RepeaterItem.cs
- PnrpPermission.cs
- MarkupExtensionParser.cs
- InvokerUtil.cs
- WindowsTokenRoleProvider.cs
- KoreanCalendar.cs
- Vector3DValueSerializer.cs
- NavigatorOutput.cs
- EventItfInfo.cs
- DataContractSerializerSection.cs
- Wildcard.cs
- DataControlFieldHeaderCell.cs
- MarginsConverter.cs
- FeatureAttribute.cs
- SchemaMapping.cs
- BitmapScalingModeValidation.cs
- RotateTransform.cs
- SqlDataSourceCommandEventArgs.cs
- UnsafeNativeMethods.cs
- HtmlSelect.cs
- ImageClickEventArgs.cs
- PolicyException.cs
- StylusButtonCollection.cs
- CompoundFileStorageReference.cs
- MetaForeignKeyColumn.cs
- VisualTreeHelper.cs
- _AutoWebProxyScriptWrapper.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- BrushConverter.cs
- StringFormat.cs
- SchemaCreator.cs
- ComponentEditorForm.cs
- DataGridCell.cs
- MouseCaptureWithinProperty.cs
- EditorZoneBase.cs
- XPathDocumentIterator.cs
- XmlConvert.cs
- IChannel.cs
- MachineSettingsSection.cs