Code:
/ 4.0 / 4.0 / 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. ///// 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
- EncoderParameter.cs
- XmlUtil.cs
- NativeMethods.cs
- SchemaExporter.cs
- versioninfo.cs
- HTTPNotFoundHandler.cs
- LambdaCompiler.Binary.cs
- WorkflowMarkupElementEventArgs.cs
- Serialization.cs
- TimeSpanFormat.cs
- SectionInput.cs
- ProviderCommandInfoUtils.cs
- ApplicationFileCodeDomTreeGenerator.cs
- xamlnodes.cs
- DesignerVerbCollection.cs
- CodeTypeParameterCollection.cs
- NumberFormatInfo.cs
- Rect.cs
- ImageSourceValueSerializer.cs
- LocalValueEnumerator.cs
- ComponentEditorForm.cs
- PasswordBox.cs
- CodePageEncoding.cs
- ProtectedProviderSettings.cs
- Number.cs
- SqlNotificationRequest.cs
- TypeSemantics.cs
- DSACryptoServiceProvider.cs
- RayHitTestParameters.cs
- Rights.cs
- Pkcs9Attribute.cs
- GridViewRowPresenter.cs
- jithelpers.cs
- StorageComplexTypeMapping.cs
- RowVisual.cs
- ZipIOExtraFieldPaddingElement.cs
- smtpconnection.cs
- WaitHandleCannotBeOpenedException.cs
- EndpointPerformanceCounters.cs
- SelectedGridItemChangedEvent.cs
- Hyperlink.cs
- XmlSchemaAttributeGroup.cs
- ProfileGroupSettingsCollection.cs
- SerialReceived.cs
- ObjectReaderCompiler.cs
- DynamicRendererThreadManager.cs
- QilVisitor.cs
- SharedConnectionWorkflowTransactionService.cs
- Point3D.cs
- Transform3DCollection.cs
- MailWebEventProvider.cs
- HMAC.cs
- ArgumentException.cs
- StrokeNode.cs
- StandardCommands.cs
- WeakReference.cs
- QuadTree.cs
- OdbcEnvironmentHandle.cs
- MetaForeignKeyColumn.cs
- WebPartMenu.cs
- ListDesigner.cs
- CompletedAsyncResult.cs
- MetaColumn.cs
- ListenerSessionConnectionReader.cs
- TextServicesContext.cs
- SqlOuterApplyReducer.cs
- DataListItem.cs
- DetailsViewModeEventArgs.cs
- CompoundFileDeflateTransform.cs
- ObjectParameterCollection.cs
- dtdvalidator.cs
- BehaviorEditorPart.cs
- Misc.cs
- MsmqHostedTransportManager.cs
- IItemContainerGenerator.cs
- MasterPage.cs
- XmlSchemaParticle.cs
- XamlSerializationHelper.cs
- EncoderBestFitFallback.cs
- RepeaterItemEventArgs.cs
- EntityContainerRelationshipSet.cs
- PackageDigitalSignatureManager.cs
- ProviderIncompatibleException.cs
- HttpClientChannel.cs
- EdgeModeValidation.cs
- DataAccessException.cs
- MailWebEventProvider.cs
- OdbcDataAdapter.cs
- CompilerTypeWithParams.cs
- ScriptResourceInfo.cs
- EmbeddedObject.cs
- TreeWalkHelper.cs
- RemoteWebConfigurationHost.cs
- GroupPartitionExpr.cs
- CacheSection.cs
- DrawingGroup.cs
- ClientTargetCollection.cs
- StringStorage.cs
- MultiAsyncResult.cs
- SpeechSeg.cs