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
- ButtonRenderer.cs
- VariableDesigner.xaml.cs
- TextBoxLine.cs
- EditorPartCollection.cs
- ExtensionDataReader.cs
- ParsedRoute.cs
- FrameworkElement.cs
- WebCategoryAttribute.cs
- TimeIntervalCollection.cs
- ObjectQuery.cs
- CollectionViewGroupInternal.cs
- FamilyTypeface.cs
- UrlAuthFailedErrorFormatter.cs
- GACIdentityPermission.cs
- ConfigurationLoader.cs
- Object.cs
- SafeLibraryHandle.cs
- TypeUtil.cs
- SqlDataSourceTableQuery.cs
- ClientRuntimeConfig.cs
- NameTable.cs
- TaiwanCalendar.cs
- WebBrowserNavigatingEventHandler.cs
- StatusStrip.cs
- DBNull.cs
- ScrollBarRenderer.cs
- LayoutEvent.cs
- CachedCompositeFamily.cs
- ValidationEventArgs.cs
- HtmlDocument.cs
- X509PeerCertificateAuthenticationElement.cs
- GroupQuery.cs
- CommandID.cs
- TransactionScopeDesigner.cs
- DescriptionAttribute.cs
- NodeFunctions.cs
- AddingNewEventArgs.cs
- DeviceSpecific.cs
- DoubleKeyFrameCollection.cs
- PrintPageEvent.cs
- XmlSchemaCollection.cs
- SmtpFailedRecipientsException.cs
- SmiTypedGetterSetter.cs
- TemplateControlCodeDomTreeGenerator.cs
- MailAddress.cs
- WindowsFormsHelpers.cs
- ThemeDirectoryCompiler.cs
- ShapeTypeface.cs
- RSAOAEPKeyExchangeFormatter.cs
- TaskExtensions.cs
- MD5.cs
- TryCatch.cs
- MULTI_QI.cs
- ListBindableAttribute.cs
- RootProfilePropertySettingsCollection.cs
- TCPListener.cs
- RichTextBox.cs
- PerspectiveCamera.cs
- PolicyException.cs
- VisualTreeFlattener.cs
- _HeaderInfoTable.cs
- MouseDevice.cs
- XmlTextReaderImplHelpers.cs
- HebrewCalendar.cs
- KeyValueConfigurationCollection.cs
- ConditionBrowserDialog.cs
- PeerCollaborationPermission.cs
- Path.cs
- CuspData.cs
- ExcludePathInfo.cs
- StrongNameUtility.cs
- SqlCommand.cs
- ModelEditingScope.cs
- RegexGroup.cs
- ListViewGroupConverter.cs
- StreamSecurityUpgradeInitiatorBase.cs
- HwndTarget.cs
- BaseParser.cs
- TargetControlTypeCache.cs
- TabPage.cs
- DataTableMapping.cs
- ReadWriteSpinLock.cs
- SmiRecordBuffer.cs
- TypeDescriptor.cs
- SplineQuaternionKeyFrame.cs
- TemplateControlCodeDomTreeGenerator.cs
- DecoratedNameAttribute.cs
- WebPartUtil.cs
- ObjectDataSourceWizardForm.cs
- SchemaNotation.cs
- UnsafeNetInfoNativeMethods.cs
- MetadataArtifactLoaderFile.cs
- ClusterSafeNativeMethods.cs
- sqlpipe.cs
- UpdateCommand.cs
- sqlpipe.cs
- ProfilePropertySettings.cs
- DesignerSerializationOptionsAttribute.cs
- BitmapImage.cs
- SharedStatics.cs