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
- WsdlParser.cs
- SynchronizedDispatch.cs
- TrackingStringDictionary.cs
- NativeMethodsCLR.cs
- ResourceProviderFactory.cs
- ImmutablePropertyDescriptorGridEntry.cs
- Win32KeyboardDevice.cs
- RenamedEventArgs.cs
- WebServiceClientProxyGenerator.cs
- ModuleBuilderData.cs
- FrameworkElement.cs
- Canvas.cs
- CompoundFileReference.cs
- XPathDocumentIterator.cs
- HttpModuleCollection.cs
- SynchronizationLockException.cs
- BaseProcessor.cs
- UrlPropertyAttribute.cs
- Collection.cs
- InternalConfigConfigurationFactory.cs
- ErrorWrapper.cs
- TextModifierScope.cs
- NamedElement.cs
- DragAssistanceManager.cs
- RelatedPropertyManager.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- MobileControlsSectionHelper.cs
- XDeferredAxisSource.cs
- DocumentSchemaValidator.cs
- UnicastIPAddressInformationCollection.cs
- Int32CollectionConverter.cs
- XamlClipboardData.cs
- MobileUserControl.cs
- EdmEntityTypeAttribute.cs
- StylusPointProperties.cs
- CodeDomLoader.cs
- DocumentPageHost.cs
- WeakRefEnumerator.cs
- SafeNativeMethods.cs
- MemberRelationshipService.cs
- ArrayList.cs
- AssemblyName.cs
- HttpChannelHelpers.cs
- EntityDataSourceColumn.cs
- ReadOnlyDictionary.cs
- KeyFrames.cs
- TabPage.cs
- isolationinterop.cs
- WebInvokeAttribute.cs
- DatagramAdapter.cs
- MessageQueueTransaction.cs
- ConfigurationSettings.cs
- SchemaManager.cs
- DataGridLinkButton.cs
- OdbcPermission.cs
- SqlNamer.cs
- LinqDataSourceInsertEventArgs.cs
- StringSorter.cs
- CheckedListBox.cs
- NonParentingControl.cs
- EndpointBehaviorElement.cs
- UrlMappingsSection.cs
- GraphicsContext.cs
- ToolStripMenuItemDesigner.cs
- PropertyReference.cs
- LicenseContext.cs
- Closure.cs
- TreeViewItemAutomationPeer.cs
- httpapplicationstate.cs
- StorageAssociationSetMapping.cs
- ClientConfigPaths.cs
- DropShadowBitmapEffect.cs
- FolderBrowserDialogDesigner.cs
- QuadraticBezierSegment.cs
- ObjectSet.cs
- WindowsGraphics.cs
- GuidTagList.cs
- ApplicationInfo.cs
- InvariantComparer.cs
- IsolatedStorageException.cs
- RouteCollection.cs
- NamespaceList.cs
- XmlChoiceIdentifierAttribute.cs
- WebSysDescriptionAttribute.cs
- ContentFilePart.cs
- PermissionAttributes.cs
- XamlLoadErrorInfo.cs
- DataAdapter.cs
- SrgsGrammarCompiler.cs
- SqlRemoveConstantOrderBy.cs
- SqlConnectionStringBuilder.cs
- HandlerFactoryWrapper.cs
- TiffBitmapDecoder.cs
- WhitespaceRule.cs
- WindowsEditBoxRange.cs
- BaseTransportHeaders.cs
- SectionVisual.cs
- _OSSOCK.cs
- DispatcherSynchronizationContext.cs
- FixedSOMSemanticBox.cs