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
- DynamicActionMessageFilter.cs
- GenericUriParser.cs
- BrowserCapabilitiesCodeGenerator.cs
- LocalTransaction.cs
- IndexedString.cs
- HttpDictionary.cs
- WindowPattern.cs
- _AutoWebProxyScriptWrapper.cs
- AnnotationObservableCollection.cs
- Symbol.cs
- EventWaitHandle.cs
- DBConnectionString.cs
- DetailsViewRow.cs
- RadialGradientBrush.cs
- TextRunTypographyProperties.cs
- GcHandle.cs
- Panel.cs
- ContentElement.cs
- MatrixTransform3D.cs
- DecimalConverter.cs
- SettingsProperty.cs
- MasterPageBuildProvider.cs
- CultureInfo.cs
- _SSPIWrapper.cs
- PositiveTimeSpanValidatorAttribute.cs
- IBuiltInEvidence.cs
- PixelShader.cs
- ByteBufferPool.cs
- ApplicationDirectory.cs
- ByteStack.cs
- ToolStripMenuItem.cs
- UnmanagedMemoryAccessor.cs
- Application.cs
- HtmlTextBoxAdapter.cs
- mactripleDES.cs
- TempEnvironment.cs
- DigitShape.cs
- HtmlInputControl.cs
- BitmapSource.cs
- StrongNameIdentityPermission.cs
- DbConvert.cs
- BooleanConverter.cs
- CryptographicAttribute.cs
- FastEncoder.cs
- StickyNote.cs
- HMACSHA1.cs
- TimeSpanSecondsConverter.cs
- StyleCollectionEditor.cs
- SqlSelectClauseBuilder.cs
- Connector.cs
- EntityDesignerUtils.cs
- CriticalExceptions.cs
- DataKeyCollection.cs
- VirtualPathProvider.cs
- GPRECT.cs
- XmlDocument.cs
- TextParaLineResult.cs
- Registration.cs
- TreeNodeMouseHoverEvent.cs
- RtfToXamlLexer.cs
- StorageAssociationSetMapping.cs
- NamespaceQuery.cs
- HtmlForm.cs
- MethodBody.cs
- DataGridViewCellValidatingEventArgs.cs
- DataObjectSettingDataEventArgs.cs
- TraceListeners.cs
- Mapping.cs
- IdnMapping.cs
- ToggleProviderWrapper.cs
- WorkflowOwnershipException.cs
- ScalarOps.cs
- AuthenticationModuleElement.cs
- FormClosedEvent.cs
- KeyPressEvent.cs
- RepeatBehaviorConverter.cs
- SecurityKeyIdentifierClause.cs
- GetMemberBinder.cs
- WebPartZoneCollection.cs
- SystemParameters.cs
- SpotLight.cs
- IndexOutOfRangeException.cs
- AxHost.cs
- DataGridPagerStyle.cs
- ParserExtension.cs
- BatchWriter.cs
- DbException.cs
- KoreanLunisolarCalendar.cs
- SoapTypeAttribute.cs
- TogglePattern.cs
- FontDifferentiator.cs
- DynamicResourceExtensionConverter.cs
- BadImageFormatException.cs
- SecurityHelper.cs
- PropertyGrid.cs
- DataSourceConverter.cs
- SizeAnimationClockResource.cs
- InternalsVisibleToAttribute.cs
- DragDeltaEventArgs.cs
- SerTrace.cs