Code:
/ DotNET / DotNET / 8.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
- _BasicClient.cs
- XamlReader.cs
- WebEventTraceProvider.cs
- httpstaticobjectscollection.cs
- AdjustableArrowCap.cs
- FrameworkTextComposition.cs
- FrameworkContentElementAutomationPeer.cs
- EmptyControlCollection.cs
- TemplateBuilder.cs
- WebCategoryAttribute.cs
- BitmapScalingModeValidation.cs
- EnumDataContract.cs
- RawUIStateInputReport.cs
- StylusDownEventArgs.cs
- TextEffect.cs
- CompiledXpathExpr.cs
- BitmapEncoder.cs
- PtsContext.cs
- ProcessModelInfo.cs
- LocalizedNameDescriptionPair.cs
- FocusTracker.cs
- BindingWorker.cs
- ExecutedRoutedEventArgs.cs
- QEncodedStream.cs
- ArgumentNullException.cs
- XappLauncher.cs
- EnumerableValidator.cs
- _FtpControlStream.cs
- WsdlInspector.cs
- EpmContentSerializer.cs
- BuildProviderUtils.cs
- DeploymentSection.cs
- XmlDictionaryWriter.cs
- StrongNameUtility.cs
- DataKey.cs
- WaitHandleCannotBeOpenedException.cs
- VisualStyleElement.cs
- Span.cs
- XmlSchemaDocumentation.cs
- SchemaName.cs
- SystemInformation.cs
- KeyEventArgs.cs
- CompressEmulationStream.cs
- ListChangedEventArgs.cs
- Internal.cs
- FrameworkContextData.cs
- SamlConstants.cs
- RangeBase.cs
- PasswordTextContainer.cs
- CompositeFontFamily.cs
- ProcessThread.cs
- GlyphInfoList.cs
- Filter.cs
- ManagedIStream.cs
- SqlTransaction.cs
- METAHEADER.cs
- GroupBoxRenderer.cs
- Expression.cs
- HebrewCalendar.cs
- App.cs
- TypedAsyncResult.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- XmlSerializerNamespaces.cs
- WorkflowMarkupSerializationManager.cs
- EventEntry.cs
- FilePrompt.cs
- DesignTimeParseData.cs
- CodeAttributeDeclarationCollection.cs
- IncomingWebResponseContext.cs
- TdsParserStaticMethods.cs
- FontSource.cs
- CaseInsensitiveOrdinalStringComparer.cs
- ValueTypeFixupInfo.cs
- ListBoxItemAutomationPeer.cs
- GroupItem.cs
- ByteStreamMessageEncoder.cs
- ConstructorArgumentAttribute.cs
- ToolboxComponentsCreatingEventArgs.cs
- PresentationAppDomainManager.cs
- ToolStripHighContrastRenderer.cs
- WebPartHelpVerb.cs
- DecimalAverageAggregationOperator.cs
- CheckedPointers.cs
- AssociatedControlConverter.cs
- PreservationFileWriter.cs
- NetworkStream.cs
- StatusBarDrawItemEvent.cs
- ToolStripItemTextRenderEventArgs.cs
- regiisutil.cs
- EdmType.cs
- WebSysDisplayNameAttribute.cs
- HyperLinkStyle.cs
- Stylesheet.cs
- WebPartConnectionsConnectVerb.cs
- Environment.cs
- X509PeerCertificateAuthenticationElement.cs
- XmlCharCheckingReader.cs
- PathGeometry.cs
- WorkingDirectoryEditor.cs
- ImageBrush.cs