Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- ValueQuery.cs
- GeometryConverter.cs
- DynamicScriptObject.cs
- ExtendedPropertyCollection.cs
- Rule.cs
- ConnectionPoint.cs
- SoapExtensionImporter.cs
- NotifyInputEventArgs.cs
- SynchronizationContextHelper.cs
- ImageConverter.cs
- SwitchLevelAttribute.cs
- WebBrowserDocumentCompletedEventHandler.cs
- XPathMessageContext.cs
- ImportCatalogPart.cs
- InvariantComparer.cs
- SecurityKeyUsage.cs
- EmissiveMaterial.cs
- ButtonBase.cs
- StrokeNodeEnumerator.cs
- EntityDataSourceWrapper.cs
- Help.cs
- ThicknessAnimationBase.cs
- ToolStripItemCollection.cs
- MILUtilities.cs
- DataGrid.cs
- UpdateProgress.cs
- mediaeventargs.cs
- Touch.cs
- ScriptControl.cs
- SqlDependencyUtils.cs
- MimeTypePropertyAttribute.cs
- KerberosTokenFactoryCredential.cs
- GenericEnumConverter.cs
- GACMembershipCondition.cs
- IdentifierElement.cs
- KeyEventArgs.cs
- DiffuseMaterial.cs
- SchemaCreator.cs
- SmiRecordBuffer.cs
- TypeUtil.cs
- RecognitionEventArgs.cs
- StringResourceManager.cs
- CellParagraph.cs
- TextDecoration.cs
- BoolExpression.cs
- RawTextInputReport.cs
- NavigatorOutput.cs
- Canvas.cs
- ReachFixedPageSerializerAsync.cs
- Misc.cs
- BitmapEffectState.cs
- CssStyleCollection.cs
- FormsAuthenticationTicket.cs
- DodSequenceMerge.cs
- ActivityExecutorDelegateInfo.cs
- SqlNodeAnnotation.cs
- DrawItemEvent.cs
- ChannelEndpointElementCollection.cs
- OdbcPermission.cs
- HtmlImage.cs
- Mappings.cs
- CodeAttributeDeclarationCollection.cs
- HuffModule.cs
- DataGridViewSelectedCellCollection.cs
- LocatorPartList.cs
- ImageCodecInfoPrivate.cs
- XmlSchemaValidator.cs
- BoundsDrawingContextWalker.cs
- AuthenticatedStream.cs
- CustomAttribute.cs
- Domain.cs
- SerializationStore.cs
- ConnectionManagementSection.cs
- SqlServer2KCompatibilityAnnotation.cs
- Base64Decoder.cs
- ModuleBuilder.cs
- WindowsTitleBar.cs
- DockAndAnchorLayout.cs
- Constraint.cs
- Types.cs
- GlyphTypeface.cs
- AssertFilter.cs
- XmlAttributeCollection.cs
- RadioButtonStandardAdapter.cs
- util.cs
- DispatcherEventArgs.cs
- CompositionAdorner.cs
- Queue.cs
- LayoutTableCell.cs
- WebServiceTypeData.cs
- HttpValueCollection.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- DataGridCell.cs
- Property.cs
- SHA512Managed.cs
- Style.cs
- ToolboxItemLoader.cs
- HtmlEmptyTagControlBuilder.cs
- DocumentOrderComparer.cs
- Sentence.cs