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
- GrammarBuilderDictation.cs
- BlockExpression.cs
- OutOfProcStateClientManager.cs
- TextServicesPropertyRanges.cs
- SizeIndependentAnimationStorage.cs
- X509Utils.cs
- ErrorWrapper.cs
- SubpageParagraph.cs
- AppDomainUnloadedException.cs
- TemplateColumn.cs
- ConnectionPointCookie.cs
- TypeSystemProvider.cs
- VideoDrawing.cs
- RootAction.cs
- PreloadedPackages.cs
- Literal.cs
- SessionStateSection.cs
- DataServiceResponse.cs
- AsyncContentLoadedEventArgs.cs
- processwaithandle.cs
- HashMembershipCondition.cs
- Vector3DAnimationUsingKeyFrames.cs
- TimeSpanStorage.cs
- StringFormat.cs
- OperationAbortedException.cs
- SelectionEditingBehavior.cs
- SafeHandle.cs
- Setter.cs
- Literal.cs
- StylusPointPropertyInfoDefaults.cs
- XmlDictionaryReader.cs
- MessageDecoder.cs
- ActivityDesigner.cs
- LayoutEvent.cs
- HitTestWithGeometryDrawingContextWalker.cs
- InstanceCreationEditor.cs
- CopyEncoder.cs
- EnumerableRowCollectionExtensions.cs
- EntityDataSourceEntitySetNameItem.cs
- AppDomain.cs
- RemoveStoryboard.cs
- StrokeNodeOperations2.cs
- SoapConverter.cs
- SessionPageStatePersister.cs
- AutomationPatternInfo.cs
- InternalCache.cs
- XPathMessageFilterTable.cs
- EventTrigger.cs
- _AuthenticationState.cs
- XamlGridLengthSerializer.cs
- IntegerValidatorAttribute.cs
- WebServiceData.cs
- HttpPostProtocolReflector.cs
- ResourceManagerWrapper.cs
- QueryStringParameter.cs
- Literal.cs
- ButtonField.cs
- listitem.cs
- MDIClient.cs
- HttpRawResponse.cs
- GifBitmapEncoder.cs
- HierarchicalDataBoundControlAdapter.cs
- ObjectHelper.cs
- XmlBinaryReader.cs
- InfiniteTimeSpanConverter.cs
- ActivityExecutionContextCollection.cs
- SizeConverter.cs
- CookieParameter.cs
- DateTimeOffsetConverter.cs
- CompilerError.cs
- FileDialogCustomPlacesCollection.cs
- DataServicePagingProviderWrapper.cs
- ZoneButton.cs
- InternalMappingException.cs
- Thumb.cs
- SqlParameterCollection.cs
- RotateTransform.cs
- TypeResolvingOptionsAttribute.cs
- TypedTableBaseExtensions.cs
- EmissiveMaterial.cs
- ProfileServiceManager.cs
- TagMapCollection.cs
- UserPreferenceChangingEventArgs.cs
- DataGridParentRows.cs
- Int64Converter.cs
- CommandField.cs
- NumericExpr.cs
- RuntimeResourceSet.cs
- XPathNodeHelper.cs
- ProcessActivityTreeOptions.cs
- odbcmetadatafactory.cs
- TypeExtensionConverter.cs
- Asn1IntegerConverter.cs
- StrokeNodeOperations2.cs
- SecurityRuntime.cs
- FileDialogCustomPlace.cs
- DataGridRowsPresenter.cs
- PointAnimationBase.cs
- IndexedEnumerable.cs
- MetadataItem_Static.cs