Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- httpserverutility.cs
- PersianCalendar.cs
- BoolExpressionVisitors.cs
- _StreamFramer.cs
- ExtensionSimplifierMarkupObject.cs
- EventSinkHelperWriter.cs
- SmiRecordBuffer.cs
- MouseDevice.cs
- RoleGroupCollectionEditor.cs
- Unit.cs
- FileDialogCustomPlace.cs
- Int32RectValueSerializer.cs
- SecurityTokenProvider.cs
- Attachment.cs
- CompositeScriptReferenceEventArgs.cs
- TextBoxAutoCompleteSourceConverter.cs
- ReadOnlyMetadataCollection.cs
- KeyConverter.cs
- ListViewUpdatedEventArgs.cs
- DesignerAdRotatorAdapter.cs
- MenuItem.cs
- ComMethodElement.cs
- DirectoryInfo.cs
- HiddenFieldPageStatePersister.cs
- DBCommand.cs
- SmiEventSink_Default.cs
- TimeZoneInfo.cs
- Window.cs
- XmlAttributeCollection.cs
- ChangePasswordDesigner.cs
- TextRunCache.cs
- SortQueryOperator.cs
- ExtendedPropertyDescriptor.cs
- ParserHooks.cs
- XmlQueryCardinality.cs
- MinMaxParagraphWidth.cs
- StringWriter.cs
- PositiveTimeSpanValidatorAttribute.cs
- EntityKey.cs
- ExecutionEngineException.cs
- SafeRightsManagementQueryHandle.cs
- X509Chain.cs
- LockedBorderGlyph.cs
- DecoderNLS.cs
- MailAddress.cs
- QueryAccessibilityHelpEvent.cs
- ImageBrush.cs
- CodeEventReferenceExpression.cs
- GatewayDefinition.cs
- NativeCompoundFileAPIs.cs
- SqlDataSourceStatusEventArgs.cs
- XmlILModule.cs
- StringAnimationBase.cs
- PersonalizableTypeEntry.cs
- BitmapEffect.cs
- DomNameTable.cs
- Size3DConverter.cs
- EpmHelper.cs
- ElementHostAutomationPeer.cs
- GlobalDataBindingHandler.cs
- HttpCookiesSection.cs
- SchemaLookupTable.cs
- GenericsInstances.cs
- DataGridPreparingCellForEditEventArgs.cs
- NonBatchDirectoryCompiler.cs
- XmlJsonReader.cs
- RuntimeTransactionHandle.cs
- InkCanvasSelection.cs
- AuthenticationException.cs
- ParentQuery.cs
- HandleExceptionArgs.cs
- ImageButton.cs
- HttpPostedFileWrapper.cs
- SqlStatistics.cs
- CacheDependency.cs
- AsymmetricKeyExchangeDeformatter.cs
- DocComment.cs
- Rijndael.cs
- ImageAnimator.cs
- ObjectQuery_EntitySqlExtensions.cs
- DbInsertCommandTree.cs
- Soap12ServerProtocol.cs
- SecurityState.cs
- SecurityManager.cs
- TypeNameConverter.cs
- NonVisualControlAttribute.cs
- MediaSystem.cs
- EntityParameterCollection.cs
- ListItemViewAttribute.cs
- ToolbarAUtomationPeer.cs
- DataGridViewAutoSizeModeEventArgs.cs
- DataBinder.cs
- Pens.cs
- DomainConstraint.cs
- ObjectSecurityT.cs
- ItemContainerGenerator.cs
- SQLSingleStorage.cs
- Configuration.cs
- TextEditorThreadLocalStore.cs
- Encoder.cs