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
- CommonProperties.cs
- NumberFormatInfo.cs
- ResourcesBuildProvider.cs
- ListChangedEventArgs.cs
- ListBox.cs
- LoaderAllocator.cs
- Size3D.cs
- DataBoundControlAdapter.cs
- TogglePattern.cs
- TryCatch.cs
- TableItemPatternIdentifiers.cs
- WebPartZone.cs
- TypefaceCollection.cs
- ArgumentOutOfRangeException.cs
- RequestQueue.cs
- OperationFormatStyle.cs
- FontStretchConverter.cs
- Container.cs
- XmlSchemaAttributeGroupRef.cs
- StoreAnnotationsMap.cs
- RotateTransform3D.cs
- ObjectDataSource.cs
- ProfileGroupSettingsCollection.cs
- DrawingGroupDrawingContext.cs
- EntityDataSourceColumn.cs
- AutomationProperty.cs
- QueryTask.cs
- ServerValidateEventArgs.cs
- ElementNotAvailableException.cs
- ToolStripDesignerAvailabilityAttribute.cs
- Statements.cs
- TreeViewItemAutomationPeer.cs
- ViewCellSlot.cs
- SessionConnectionReader.cs
- ReadWriteSpinLock.cs
- RSACryptoServiceProvider.cs
- MemberMemberBinding.cs
- InputProcessorProfiles.cs
- PtsHelper.cs
- Rectangle.cs
- ArraySubsetEnumerator.cs
- ServiceObjectContainer.cs
- NetworkAddressChange.cs
- SystemInformation.cs
- ContentTextAutomationPeer.cs
- StylusDevice.cs
- cache.cs
- BeginEvent.cs
- SqlDataSourceFilteringEventArgs.cs
- ContextMenuStripActionList.cs
- SiteMapPath.cs
- SByteStorage.cs
- SqlDataRecord.cs
- TdsParameterSetter.cs
- FrugalList.cs
- ForceCopyBuildProvider.cs
- PreviewPrintController.cs
- ReadOnlyHierarchicalDataSource.cs
- DictionarySectionHandler.cs
- WizardStepBase.cs
- BehaviorEditorPart.cs
- RunClient.cs
- DataBinder.cs
- ListManagerBindingsCollection.cs
- XmlSerializationGeneratedCode.cs
- ConnectionPoolRegistry.cs
- FrameworkName.cs
- objectresult_tresulttype.cs
- ProcessManager.cs
- EnumMember.cs
- ColorMap.cs
- ISFClipboardData.cs
- ArgumentsParser.cs
- HttpHandlerActionCollection.cs
- StateInitializationDesigner.cs
- ParallelQuery.cs
- BitmapEffect.cs
- XPathNavigatorReader.cs
- WmlFormAdapter.cs
- SafeTimerHandle.cs
- PrintPreviewGraphics.cs
- MD5CryptoServiceProvider.cs
- xamlnodes.cs
- AutomationPatternInfo.cs
- XmlResolver.cs
- _DisconnectOverlappedAsyncResult.cs
- TypeConverter.cs
- cookiecollection.cs
- ModelPerspective.cs
- XmlStringTable.cs
- StrokeCollectionConverter.cs
- DocumentReference.cs
- InputLanguageSource.cs
- RegexBoyerMoore.cs
- MenuCommands.cs
- LayoutTable.cs
- CodeCommentStatementCollection.cs
- ipaddressinformationcollection.cs
- ApplicationInfo.cs
- TransformValueSerializer.cs