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
- EventProperty.cs
- DataShape.cs
- SimpleTypeResolver.cs
- SqlMethodAttribute.cs
- JapaneseLunisolarCalendar.cs
- ValidationEventArgs.cs
- StringKeyFrameCollection.cs
- PickBranchDesigner.xaml.cs
- SystemIPInterfaceStatistics.cs
- HttpHandlerActionCollection.cs
- AsymmetricSignatureDeformatter.cs
- TextReader.cs
- BaseParser.cs
- PopupRootAutomationPeer.cs
- TableLayout.cs
- ErrorFormatter.cs
- BindingManagerDataErrorEventArgs.cs
- EncryptedPackageFilter.cs
- WebPartCloseVerb.cs
- Effect.cs
- HwndTarget.cs
- PenThread.cs
- ByeOperationCD1AsyncResult.cs
- EventProvider.cs
- BitmapEffectCollection.cs
- Speller.cs
- DbTransaction.cs
- DispatcherExceptionEventArgs.cs
- PeerNameRecordCollection.cs
- MDIWindowDialog.cs
- XmlNavigatorFilter.cs
- ConstrainedDataObject.cs
- URLIdentityPermission.cs
- LinkButton.cs
- ColorMap.cs
- EdmScalarPropertyAttribute.cs
- TypeUnloadedException.cs
- URI.cs
- RequestCacheManager.cs
- ResXResourceWriter.cs
- AvTrace.cs
- HasCopySemanticsAttribute.cs
- Typeface.cs
- PerfCounters.cs
- WindowsFormsDesignerOptionService.cs
- HelpEvent.cs
- ObjectStateManagerMetadata.cs
- COAUTHIDENTITY.cs
- Decoder.cs
- DataTable.cs
- TimeoutException.cs
- ControlUtil.cs
- SimpleHandlerBuildProvider.cs
- AppSettingsReader.cs
- RepeaterItem.cs
- TextEndOfParagraph.cs
- X509Chain.cs
- WindowsFormsHelpers.cs
- FixedTextSelectionProcessor.cs
- BulletedList.cs
- InvokeProviderWrapper.cs
- LogArchiveSnapshot.cs
- PrintingPermissionAttribute.cs
- TextServicesDisplayAttributePropertyRanges.cs
- Command.cs
- NameObjectCollectionBase.cs
- OpenFileDialog.cs
- ImageField.cs
- DataTransferEventArgs.cs
- FlowSwitchDesigner.xaml.cs
- ToolZone.cs
- _emptywebproxy.cs
- XmlTextWriter.cs
- WebZone.cs
- Msmq4SubqueuePoisonHandler.cs
- EnumValAlphaComparer.cs
- EmptyControlCollection.cs
- SchemaExporter.cs
- Animatable.cs
- BindValidator.cs
- DiscoveryCallbackBehavior.cs
- CopyEncoder.cs
- FontResourceCache.cs
- HttpWriter.cs
- MessageAction.cs
- CompositeCollection.cs
- DataGridViewTopLeftHeaderCell.cs
- DesignerAdapterAttribute.cs
- Schema.cs
- DataSourceListEditor.cs
- ReaderWriterLockSlim.cs
- ReplyChannel.cs
- AttributeEmitter.cs
- ContentElementCollection.cs
- CharAnimationUsingKeyFrames.cs
- ClientApiGenerator.cs
- TextModifier.cs
- ChildTable.cs
- MeshGeometry3D.cs
- Stacktrace.cs