Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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; } } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SqlStream.cs
- ApplicationManager.cs
- UxThemeWrapper.cs
- COM2TypeInfoProcessor.cs
- DataServices.cs
- DataGridViewRowCollection.cs
- PrintPreviewControl.cs
- ExplicitDiscriminatorMap.cs
- IntegerValidator.cs
- TaskScheduler.cs
- ContextMenuStrip.cs
- TypeSystemProvider.cs
- HtmlUtf8RawTextWriter.cs
- Control.cs
- HttpPostProtocolImporter.cs
- Keyboard.cs
- SiteIdentityPermission.cs
- PerformanceCountersElement.cs
- ACE.cs
- HtmlSelect.cs
- BasicViewGenerator.cs
- ExtendLockCommand.cs
- SafePEFileHandle.cs
- ApplyTemplatesAction.cs
- SoundPlayer.cs
- ComplexPropertyEntry.cs
- DocumentApplicationJournalEntry.cs
- FlowPosition.cs
- GC.cs
- SvcMapFileSerializer.cs
- UniqueConstraint.cs
- _HeaderInfoTable.cs
- EnumValAlphaComparer.cs
- PeerCustomResolverBindingElement.cs
- ShaderRenderModeValidation.cs
- FieldReference.cs
- X509ScopedServiceCertificateElementCollection.cs
- TargetException.cs
- WebPartConnectionsConfigureVerb.cs
- ClassDataContract.cs
- PartialToken.cs
- VisualStyleRenderer.cs
- MatrixCamera.cs
- CreateUserErrorEventArgs.cs
- LayoutTableCell.cs
- QueryRewriter.cs
- TraceLevelStore.cs
- ConfigPathUtility.cs
- SafeHandles.cs
- JavaScriptSerializer.cs
- SchemaInfo.cs
- AbsoluteQuery.cs
- WmlObjectListAdapter.cs
- ComboBoxRenderer.cs
- Policy.cs
- RepeatInfo.cs
- PackageProperties.cs
- OpenFileDialog.cs
- TreeViewHitTestInfo.cs
- OperatorExpressions.cs
- Image.cs
- ButtonColumn.cs
- ColorDialog.cs
- RelationshipEndCollection.cs
- ContentElementAutomationPeer.cs
- Literal.cs
- StatusBarItemAutomationPeer.cs
- HttpListenerException.cs
- WorkItem.cs
- Property.cs
- MetadataArtifactLoaderFile.cs
- wmiprovider.cs
- SmtpNegotiateAuthenticationModule.cs
- DeploymentSectionCache.cs
- UInt16Storage.cs
- Animatable.cs
- HMACSHA1.cs
- SingleKeyFrameCollection.cs
- DesignerContextDescriptor.cs
- GenericTypeParameterBuilder.cs
- SimpleType.cs
- CodeStatement.cs
- ArrayList.cs
- StringHelper.cs
- DragCompletedEventArgs.cs
- RepeaterItemCollection.cs
- Command.cs
- SystemIPv4InterfaceProperties.cs
- TokenFactoryCredential.cs
- SchemaNames.cs
- HtmlInputReset.cs
- AdapterUtil.cs
- smtpconnection.cs
- TreeViewImageIndexConverter.cs
- RightsManagementPermission.cs
- SessionStateItemCollection.cs
- XmlAutoDetectWriter.cs
- dtdvalidator.cs
- DictionaryEntry.cs
- HttpDebugHandler.cs