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
- BmpBitmapDecoder.cs
- MouseOverProperty.cs
- DataGridViewCellValidatingEventArgs.cs
- Double.cs
- PermissionSetEnumerator.cs
- WebBrowser.cs
- DashStyles.cs
- TimerElapsedEvenArgs.cs
- InstanceCreationEditor.cs
- DefaultWorkflowLoaderService.cs
- BamlStream.cs
- PerspectiveCamera.cs
- NullRuntimeConfig.cs
- SelectionEditingBehavior.cs
- XmlLanguageConverter.cs
- ContainerUtilities.cs
- LogFlushAsyncResult.cs
- TypeConverter.cs
- HideDisabledControlAdapter.cs
- Vector3DConverter.cs
- CodeArrayCreateExpression.cs
- SmtpFailedRecipientsException.cs
- PropertySegmentSerializationProvider.cs
- FileController.cs
- Aggregates.cs
- LayoutInformation.cs
- Scheduling.cs
- DataBoundLiteralControl.cs
- ContentPosition.cs
- EdmError.cs
- MailWebEventProvider.cs
- TemplateComponentConnector.cs
- UnsafeNativeMethods.cs
- ToolStripMenuItemCodeDomSerializer.cs
- CodeParameterDeclarationExpression.cs
- MouseActionValueSerializer.cs
- SimpleApplicationHost.cs
- Base64Decoder.cs
- CacheMode.cs
- DictionaryChange.cs
- PersonalizableAttribute.cs
- DrawingAttributeSerializer.cs
- XamlFilter.cs
- DesignerRegionCollection.cs
- SqlDependencyUtils.cs
- TimersDescriptionAttribute.cs
- ListSortDescriptionCollection.cs
- TypeUsage.cs
- COAUTHINFO.cs
- SmiSettersStream.cs
- AsymmetricAlgorithm.cs
- SoapReflectionImporter.cs
- DataGridViewSelectedRowCollection.cs
- GridErrorDlg.cs
- Material.cs
- ScrollData.cs
- ScrollViewer.cs
- ScrollBarRenderer.cs
- ObjectViewQueryResultData.cs
- COM2ExtendedTypeConverter.cs
- MobileControlsSection.cs
- MappedMetaModel.cs
- FieldNameLookup.cs
- SinglePageViewer.cs
- XPathDocumentBuilder.cs
- _LazyAsyncResult.cs
- TypedRowHandler.cs
- PageSetupDialog.cs
- UserControlDesigner.cs
- WebServiceHost.cs
- Vector3DAnimation.cs
- CoreChannel.cs
- FocusManager.cs
- DiscoveryRequestHandler.cs
- WebPartTracker.cs
- SoapHttpTransportImporter.cs
- WebPartDeleteVerb.cs
- SqlClientFactory.cs
- ExpressionsCollectionEditor.cs
- IntSecurity.cs
- DataViewManagerListItemTypeDescriptor.cs
- ProxyFragment.cs
- CallbackTimeoutsBehavior.cs
- ConstraintEnumerator.cs
- HotSpotCollection.cs
- WebServiceHandler.cs
- CompositeScriptReference.cs
- GeneralTransform3DTo2DTo3D.cs
- BinaryObjectReader.cs
- ContractMapping.cs
- ForwardPositionQuery.cs
- Annotation.cs
- StorageAssociationSetMapping.cs
- MailDefinition.cs
- SplineKeyFrames.cs
- TextRenderingModeValidation.cs
- DES.cs
- ImageField.cs
- UncommonField.cs
- Label.cs