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
- CalculatedColumn.cs
- SafeFindHandle.cs
- ProjectionCamera.cs
- ValueSerializer.cs
- CurrentChangedEventManager.cs
- WebErrorHandler.cs
- ElementAction.cs
- HandlerWithFactory.cs
- HandlerWithFactory.cs
- PowerStatus.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- TimeIntervalCollection.cs
- CmsInterop.cs
- ChameleonKey.cs
- MessageQueueInstaller.cs
- CatalogZoneDesigner.cs
- ConfigurationStrings.cs
- ConfigXmlCDataSection.cs
- NestPullup.cs
- ControlCachePolicy.cs
- MergeLocalizationDirectives.cs
- Latin1Encoding.cs
- SqlDataSourceEnumerator.cs
- CompiledQueryCacheKey.cs
- BuildResultCache.cs
- Polygon.cs
- ConstraintStruct.cs
- ElementsClipboardData.cs
- CorrelationService.cs
- EditorAttribute.cs
- CFGGrammar.cs
- ToolStripKeyboardHandlingService.cs
- DoubleAnimationUsingKeyFrames.cs
- ScrollableControl.cs
- ChildTable.cs
- SimpleApplicationHost.cs
- ConnectionPoint.cs
- EntityViewGenerationAttribute.cs
- SemaphoreFullException.cs
- basenumberconverter.cs
- EdmToObjectNamespaceMap.cs
- TimeSpanOrInfiniteValidator.cs
- DBSqlParserTable.cs
- Button.cs
- DataSourceProvider.cs
- Variable.cs
- SpeechRecognizer.cs
- InitializeCorrelation.cs
- ToolStripControlHost.cs
- XmlAtomicValue.cs
- XmlSubtreeReader.cs
- ProfilePropertySettings.cs
- FunctionNode.cs
- UserUseLicenseDictionaryLoader.cs
- DefaultAuthorizationContext.cs
- XmlCodeExporter.cs
- DispatcherExceptionEventArgs.cs
- MatrixStack.cs
- Point3D.cs
- Deflater.cs
- BaseCodePageEncoding.cs
- ApplicationTrust.cs
- SchemaTypeEmitter.cs
- CurrentTimeZone.cs
- CfgRule.cs
- SemanticValue.cs
- SyndicationFeed.cs
- HotSpotCollection.cs
- RoleService.cs
- Maps.cs
- Attachment.cs
- TaskbarItemInfo.cs
- HyperLinkField.cs
- ConnectionStringSettings.cs
- ListViewSortEventArgs.cs
- ComplexLine.cs
- SqlExpressionNullability.cs
- RuntimeVariablesExpression.cs
- XmlArrayItemAttribute.cs
- SafeNativeMethods.cs
- ButtonColumn.cs
- SafeRegistryKey.cs
- MaterialGroup.cs
- ChildDocumentBlock.cs
- WebConfigurationHostFileChange.cs
- RequestDescription.cs
- OneWayBindingElementImporter.cs
- PerfCounterSection.cs
- SpeechEvent.cs
- XmlSignificantWhitespace.cs
- ModelUtilities.cs
- PageCache.cs
- httpapplicationstate.cs
- VirtualDirectoryMapping.cs
- TabControl.cs
- Trace.cs
- NativeObjectSecurity.cs
- HtmlShim.cs
- ConsoleTraceListener.cs
- DataTableCollection.cs