Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / FeatureSupport.cs / 1305376 / FeatureSupport.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms { using System.Configuration.Assemblies; using System.Diagnostics; using System; using System.Reflection; using System.Security; using System.Security.Permissions; ////// /// public abstract class FeatureSupport : IFeatureSupport { ///Provides ///methods for retrieving feature information from the /// current system. /// /// public static bool IsPresent(string featureClassName, string featureConstName) { return IsPresent(featureClassName, featureConstName, new Version(0, 0, 0, 0)); } ///Determines whether any version of the specified feature /// is installed in the system. This method is ///. /// /// public static bool IsPresent(string featureClassName, string featureConstName, Version minimumVersion) { object featureId = null; IFeatureSupport featureSupport = null; //APPCOMPAT: If Type.GetType() throws, we want to return //null to preserve Everett behavior. Type c = null; try { c = Type.GetType(featureClassName); } catch (ArgumentException) {} if (c != null) { FieldInfo fi = c.GetField(featureConstName); if (fi != null) { featureId = fi.GetValue(null); } } if (featureId != null && typeof(IFeatureSupport).IsAssignableFrom(c)) { featureSupport = (IFeatureSupport) SecurityUtils.SecureCreateInstance(c); if (featureSupport != null) { return featureSupport.IsPresent(featureId, minimumVersion); } } return false; } ///Determines whether the specified or newer version of the specified feature is /// installed in the system. This method is ///. /// /// public static Version GetVersionPresent(string featureClassName, string featureConstName) { object featureId = null; IFeatureSupport featureSupport = null; //APPCOMPAT: If Type.GetType() throws, we want to return //null to preserve Everett behavior. Type c = null; try { c = Type.GetType(featureClassName); } catch (ArgumentException) {} if (c != null) { FieldInfo fi = c.GetField(featureConstName); if (fi != null) { featureId = fi.GetValue(null); } } if (featureId != null) { featureSupport = (IFeatureSupport) SecurityUtils.SecureCreateInstance(c); if (featureSupport != null) { return featureSupport.GetVersionPresent(featureId); } } return null; } ///Gets the version of the specified feature that is available on the system. ////// /// public virtual bool IsPresent(object feature) { return IsPresent(feature, new Version(0, 0, 0, 0)); } ///Determines whether any version of the specified feature /// is installed in the system. ////// /// public virtual bool IsPresent(object feature, Version minimumVersion) { Version ver = GetVersionPresent(feature); if (ver != null) { return ver.CompareTo(minimumVersion) >= 0; } return false; } ///Determines whether the specified or newer version of the /// specified feature is installed in the system. ////// /// public abstract Version GetVersionPresent(object feature); } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.When overridden in a derived class, gets the version of the specified /// feature that is available on the system. ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- X509LogoTypeExtension.cs
- ConnectionInterfaceCollection.cs
- ParagraphResult.cs
- HttpBrowserCapabilitiesWrapper.cs
- MethodBuilderInstantiation.cs
- CapabilitiesState.cs
- CheckBoxList.cs
- SqlTypeSystemProvider.cs
- EntityAdapter.cs
- SelectingProviderEventArgs.cs
- ErrorProvider.cs
- OpenFileDialog.cs
- SystemTcpStatistics.cs
- CodeDirectiveCollection.cs
- NativeMethods.cs
- MenuItemStyle.cs
- PrintPreviewGraphics.cs
- WebContext.cs
- ConfigXmlComment.cs
- ItemCheckEvent.cs
- TogglePattern.cs
- PropertyAccessVisitor.cs
- XamlParser.cs
- ControlEvent.cs
- BaseUriHelper.cs
- PrintDialogException.cs
- IgnoreFileBuildProvider.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- followingquery.cs
- SharedConnectionListener.cs
- XmlArrayItemAttributes.cs
- HashStream.cs
- ISFTagAndGuidCache.cs
- ConstructorArgumentAttribute.cs
- QilExpression.cs
- UserControlBuildProvider.cs
- SequentialActivityDesigner.cs
- Pair.cs
- ArrangedElementCollection.cs
- MissingSatelliteAssemblyException.cs
- ProcessInputEventArgs.cs
- PagedControl.cs
- MultiSelectRootGridEntry.cs
- UIElementParaClient.cs
- SelectedDatesCollection.cs
- BindMarkupExtensionSerializer.cs
- DynamicILGenerator.cs
- HwndSourceKeyboardInputSite.cs
- DocComment.cs
- Nullable.cs
- IndicCharClassifier.cs
- StylusOverProperty.cs
- GrammarBuilderDictation.cs
- DataGridRelationshipRow.cs
- ThreadPool.cs
- EmbossBitmapEffect.cs
- Point4DValueSerializer.cs
- GatewayIPAddressInformationCollection.cs
- SchemaNamespaceManager.cs
- OdbcConnectionHandle.cs
- MessageBox.cs
- PropVariant.cs
- FeatureAttribute.cs
- MachineKeyConverter.cs
- WindowsListViewItemCheckBox.cs
- ExpressionVisitor.cs
- PropertyInfoSet.cs
- SpellerError.cs
- ScalarConstant.cs
- MarshalDirectiveException.cs
- ControlDesigner.cs
- XamlToRtfParser.cs
- CopyNodeSetAction.cs
- Trigger.cs
- PageAdapter.cs
- VisualCollection.cs
- _ListenerAsyncResult.cs
- InvalidDataContractException.cs
- CodeExpressionStatement.cs
- TextRangeAdaptor.cs
- SelectedGridItemChangedEvent.cs
- EncodingDataItem.cs
- MediaPlayer.cs
- RemotingServices.cs
- WrapPanel.cs
- InvalidPropValue.cs
- Command.cs
- JsonCollectionDataContract.cs
- FileVersion.cs
- AttributeInfo.cs
- VectorConverter.cs
- ProviderException.cs
- MouseGestureValueSerializer.cs
- LazyTextWriterCreator.cs
- XmlDomTextWriter.cs
- UrlPath.cs
- NullableConverter.cs
- NotificationContext.cs
- HttpProcessUtility.cs
- LabelAutomationPeer.cs