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
- FormsIdentity.cs
- LayoutUtils.cs
- ExpressionBuilderContext.cs
- ExtensibleClassFactory.cs
- AllMembershipCondition.cs
- WindowsEditBoxRange.cs
- CommonDialog.cs
- cookiecontainer.cs
- PathSegment.cs
- TreeIterator.cs
- ExtendedPropertyDescriptor.cs
- WebPartEventArgs.cs
- WorkerProcess.cs
- TableLayoutStyleCollection.cs
- EntityDataSourceViewSchema.cs
- LinkedResource.cs
- TypeInitializationException.cs
- Win32PrintDialog.cs
- MonitoringDescriptionAttribute.cs
- DataGridBeginningEditEventArgs.cs
- VsPropertyGrid.cs
- PropertyGrid.cs
- DesignerForm.cs
- ObjectParameterCollection.cs
- CodeTypeDeclaration.cs
- Calendar.cs
- EntityContainerAssociationSet.cs
- EdmProviderManifest.cs
- CustomCategoryAttribute.cs
- DispatchWrapper.cs
- RegexMatch.cs
- Message.cs
- ClientTargetSection.cs
- Rotation3DKeyFrameCollection.cs
- TextContainerChangeEventArgs.cs
- Visitor.cs
- WindowsFormsSynchronizationContext.cs
- CodeMethodReturnStatement.cs
- Operator.cs
- StringComparer.cs
- CompilerTypeWithParams.cs
- TdsRecordBufferSetter.cs
- ZoomPercentageConverter.cs
- RelationshipEntry.cs
- Soap.cs
- DispatcherProcessingDisabled.cs
- StringSource.cs
- EditorPart.cs
- NameNode.cs
- CultureSpecificStringDictionary.cs
- RightsManagementInformation.cs
- FontCollection.cs
- DataTableNameHandler.cs
- RoutedEvent.cs
- StylusPlugin.cs
- FrugalMap.cs
- DataControlImageButton.cs
- MarkupCompiler.cs
- CheckedListBox.cs
- EncryptedXml.cs
- PerformanceCountersElement.cs
- Bits.cs
- ListViewHitTestInfo.cs
- OleServicesContext.cs
- GeneralTransform3DTo2D.cs
- SqlDataSourceConfigureFilterForm.cs
- TreeWalkHelper.cs
- UnsafeNativeMethods.cs
- Subset.cs
- ToolboxService.cs
- LinearGradientBrush.cs
- HealthMonitoringSection.cs
- DriveNotFoundException.cs
- InputReport.cs
- XmlObjectSerializer.cs
- BlockExpression.cs
- Environment.cs
- WebPartZone.cs
- ExtensionSurface.cs
- PathFigureCollection.cs
- XmlnsDictionary.cs
- EqualityComparer.cs
- DictionarySurrogate.cs
- ConfigXmlSignificantWhitespace.cs
- ContentTextAutomationPeer.cs
- ListBindingConverter.cs
- SystemFonts.cs
- SystemIcmpV4Statistics.cs
- UriTemplateLiteralPathSegment.cs
- SkinBuilder.cs
- ColumnMapProcessor.cs
- RegexCode.cs
- TimelineCollection.cs
- ResourceAssociationSet.cs
- WhiteSpaceTrimStringConverter.cs
- HyperLinkDataBindingHandler.cs
- _ConnectionGroup.cs
- ProcessRequestArgs.cs
- HTTPNotFoundHandler.cs
- ObjectComplexPropertyMapping.cs