Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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. // Copyright (c) Microsoft Corporation. All rights reserved.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
- EditorZoneBase.cs
- XmlSignatureManifest.cs
- SimpleWorkerRequest.cs
- ParseElementCollection.cs
- FullTextBreakpoint.cs
- WSFederationHttpBinding.cs
- StrokeCollection2.cs
- documentsequencetextpointer.cs
- XamlParser.cs
- DataObjectAttribute.cs
- GeneralTransformGroup.cs
- TextPattern.cs
- Configuration.cs
- _ConnectionGroup.cs
- TypeLibConverter.cs
- ToolStripDropTargetManager.cs
- CustomAttributeFormatException.cs
- DockingAttribute.cs
- StandardMenuStripVerb.cs
- XmlRawWriter.cs
- DrawingAttributes.cs
- ExpandSegmentCollection.cs
- ActivityInterfaces.cs
- DocumentEventArgs.cs
- CallInfo.cs
- ActivityMetadata.cs
- DispatcherObject.cs
- ButtonFlatAdapter.cs
- StickyNoteHelper.cs
- XmlReaderSettings.cs
- TransformGroup.cs
- ObservableDictionary.cs
- BufferedGraphicsManager.cs
- InheritanceAttribute.cs
- SecurityAlgorithmSuite.cs
- DataGridViewHeaderCell.cs
- CodePageEncoding.cs
- FigureHelper.cs
- ListViewTableRow.cs
- DynamicPropertyReader.cs
- RangeBase.cs
- Compress.cs
- HttpClientCertificate.cs
- ScriptResourceHandler.cs
- WorkItem.cs
- LocalsItemDescription.cs
- CatalogPart.cs
- ListViewGroupItemCollection.cs
- LinkLabelLinkClickedEvent.cs
- SettingsAttributes.cs
- XmlSchemaChoice.cs
- SafeHandle.cs
- TheQuery.cs
- ClientRuntimeConfig.cs
- LinqDataSourceEditData.cs
- DataGridTable.cs
- ItemChangedEventArgs.cs
- DeviceContexts.cs
- ListViewAutomationPeer.cs
- ConfigurationStrings.cs
- MemberDomainMap.cs
- CustomAttributeSerializer.cs
- RtfToXamlReader.cs
- WebPartsPersonalization.cs
- TextPenaltyModule.cs
- _BasicClient.cs
- XmlSchemaInferenceException.cs
- WinCategoryAttribute.cs
- MethodToken.cs
- TableParagraph.cs
- Switch.cs
- OdbcUtils.cs
- DurableOperationAttribute.cs
- Dictionary.cs
- BitmapEncoder.cs
- Image.cs
- CustomAttributeBuilder.cs
- SplitterEvent.cs
- RangeBaseAutomationPeer.cs
- WorkflowEventArgs.cs
- PageThemeParser.cs
- DataGridViewCellValueEventArgs.cs
- AspNetHostingPermission.cs
- LocatorManager.cs
- FunctionImportElement.cs
- PolyLineSegmentFigureLogic.cs
- PostBackOptions.cs
- ConfigurationPropertyAttribute.cs
- CopyOfAction.cs
- DataGridViewSortCompareEventArgs.cs
- DrawListViewSubItemEventArgs.cs
- _SingleItemRequestCache.cs
- InvalidDataException.cs
- Input.cs
- AuthorizationRule.cs
- AssemblyNameEqualityComparer.cs
- IsolationInterop.cs
- ContractHandle.cs
- FormViewPagerRow.cs
- UserControlFileEditor.cs