Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / WinForms / Managed / System / WinForms / FeatureSupport.cs / 1 / 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
- UnhandledExceptionEventArgs.cs
- ContentType.cs
- ImageAutomationPeer.cs
- _AuthenticationState.cs
- MetadataAssemblyHelper.cs
- WindowShowOrOpenTracker.cs
- NativeMethods.cs
- InkCanvas.cs
- DataGridViewTopRowAccessibleObject.cs
- XmlReaderSettings.cs
- TextBoxRenderer.cs
- ZipIOFileItemStream.cs
- TriggerBase.cs
- PropertyMapper.cs
- DataGridViewSelectedColumnCollection.cs
- ErrorWrapper.cs
- CommandLineParser.cs
- ServiceMemoryGates.cs
- AdapterDictionary.cs
- DispatcherExceptionEventArgs.cs
- IndentedTextWriter.cs
- BindingExpressionBase.cs
- WebSysDescriptionAttribute.cs
- Table.cs
- CompoundFileIOPermission.cs
- SettingsPropertyIsReadOnlyException.cs
- ReflectPropertyDescriptor.cs
- CurrentChangedEventManager.cs
- sitestring.cs
- Constraint.cs
- WebPartEventArgs.cs
- XpsFilter.cs
- CodeDirectoryCompiler.cs
- BehaviorEditorPart.cs
- PackageRelationshipCollection.cs
- XPathDocumentNavigator.cs
- ComponentCommands.cs
- SqlUtil.cs
- ImageMap.cs
- ProcessDesigner.cs
- ExternalException.cs
- UIPropertyMetadata.cs
- XamlDesignerSerializationManager.cs
- ImplicitInputBrush.cs
- EventProviderWriter.cs
- CmsInterop.cs
- Configuration.cs
- DodSequenceMerge.cs
- DbParameterHelper.cs
- XhtmlConformanceSection.cs
- RecognizerInfo.cs
- PluralizationService.cs
- NumberSubstitution.cs
- Emitter.cs
- ComplusEndpointConfigContainer.cs
- ExpressionReplacer.cs
- GlobalEventManager.cs
- DataBoundControlAdapter.cs
- CodeTypeReferenceExpression.cs
- CommonObjectSecurity.cs
- ToolStripSplitStackLayout.cs
- TextRange.cs
- RuntimeIdentifierPropertyAttribute.cs
- LongCountAggregationOperator.cs
- OperandQuery.cs
- DataGridViewTextBoxEditingControl.cs
- MatrixStack.cs
- WindowsRichEdit.cs
- VectorConverter.cs
- SettingsContext.cs
- NativeMethods.cs
- PropertyInfoSet.cs
- CalendarItem.cs
- WebServiceReceiveDesigner.cs
- CssStyleCollection.cs
- EndpointReference.cs
- SignerInfo.cs
- ExpressionLexer.cs
- WindowsButton.cs
- TreeNodeEventArgs.cs
- EnumValAlphaComparer.cs
- Stack.cs
- UnsafeNativeMethodsCLR.cs
- SerializationEventsCache.cs
- LongCountAggregationOperator.cs
- ImageSourceConverter.cs
- ComIntegrationManifestGenerator.cs
- StructuredTypeEmitter.cs
- DecoderReplacementFallback.cs
- CurrentChangedEventManager.cs
- VectorCollectionValueSerializer.cs
- SupportsPreviewControlAttribute.cs
- CmsUtils.cs
- MaskedTextBox.cs
- XmlAutoDetectWriter.cs
- SignHashRequest.cs
- DbConnectionPoolIdentity.cs
- Helpers.cs
- TextEffectResolver.cs
- BasicKeyConstraint.cs