Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- serverconfig.cs
- RsaEndpointIdentity.cs
- OrderablePartitioner.cs
- Rotation3D.cs
- RubberbandSelector.cs
- ToolStripContainer.cs
- MD5CryptoServiceProvider.cs
- XamlClipboardData.cs
- SQLBytesStorage.cs
- SamlDoNotCacheCondition.cs
- Application.cs
- JsonFormatGeneratorStatics.cs
- SmtpNegotiateAuthenticationModule.cs
- AttachedAnnotationChangedEventArgs.cs
- LinqDataSourceDisposeEventArgs.cs
- BaseCodeDomTreeGenerator.cs
- ProfilePropertyMetadata.cs
- RewritingPass.cs
- DisableDpiAwarenessAttribute.cs
- WebPartConnectionsConfigureVerb.cs
- DispatcherExceptionFilterEventArgs.cs
- BufferedGraphics.cs
- IPGlobalProperties.cs
- Floater.cs
- Logging.cs
- AnonymousIdentificationSection.cs
- UndirectedGraph.cs
- IgnoreFileBuildProvider.cs
- DrawToolTipEventArgs.cs
- MergeFilterQuery.cs
- InvalidTimeZoneException.cs
- WebBaseEventKeyComparer.cs
- BaseDataListDesigner.cs
- HideDisabledControlAdapter.cs
- XmlReflectionMember.cs
- ConnectionConsumerAttribute.cs
- WebPartConnectVerb.cs
- SiteMapHierarchicalDataSourceView.cs
- FrameworkReadOnlyPropertyMetadata.cs
- DataPointer.cs
- CompressEmulationStream.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- DataDesignUtil.cs
- ChildTable.cs
- ContentPropertyAttribute.cs
- ExecutionEngineException.cs
- LogExtentCollection.cs
- StreamUpdate.cs
- Int64Animation.cs
- ExtenderControl.cs
- EdmProperty.cs
- FlowDocumentPage.cs
- CrossContextChannel.cs
- FileRecordSequenceCompletedAsyncResult.cs
- GuidConverter.cs
- DataGridViewColumnConverter.cs
- Publisher.cs
- SessionEndingCancelEventArgs.cs
- RegionData.cs
- SuppressMergeCheckAttribute.cs
- CodeCompiler.cs
- PageAdapter.cs
- CqlGenerator.cs
- GenericRootAutomationPeer.cs
- Splitter.cs
- SizeAnimationClockResource.cs
- XmlNamespaceManager.cs
- DataGridViewTextBoxColumn.cs
- ParallelTimeline.cs
- Material.cs
- Attributes.cs
- AtlasWeb.Designer.cs
- PageTextBox.cs
- ListDictionaryInternal.cs
- DependencyObjectType.cs
- ProjectionCamera.cs
- MasterPageParser.cs
- Pair.cs
- NavigateEvent.cs
- DbModificationCommandTree.cs
- XmlNodeReader.cs
- DynamicDataRoute.cs
- DocumentViewerBase.cs
- WrapPanel.cs
- PrintPreviewControl.cs
- graph.cs
- UIntPtr.cs
- KeyValuePairs.cs
- DataGridPagingPage.cs
- SettingsBindableAttribute.cs
- EdmConstants.cs
- LineBreak.cs
- BindingExpression.cs
- BitSet.cs
- Delegate.cs
- Win32PrintDialog.cs
- ConstraintEnumerator.cs
- HelpProvider.cs
- EmitterCache.cs
- _emptywebproxy.cs