Code:
/ FX-1434 / FX-1434 / 1.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
- ActivityExecutorSurrogate.cs
- ClientBuildManager.cs
- ColorConvertedBitmap.cs
- DictionaryContent.cs
- CallbackValidator.cs
- PersistChildrenAttribute.cs
- invalidudtexception.cs
- HandlerWithFactory.cs
- TimeIntervalCollection.cs
- Utils.cs
- UniqueConstraint.cs
- SerializationObjectManager.cs
- FrameSecurityDescriptor.cs
- PenContexts.cs
- CultureInfoConverter.cs
- TypeConverterValueSerializer.cs
- OleDbPermission.cs
- ParseChildrenAsPropertiesAttribute.cs
- XPathDescendantIterator.cs
- TypeHelper.cs
- NullableIntAverageAggregationOperator.cs
- MenuBindingsEditorForm.cs
- CheckBoxFlatAdapter.cs
- HttpInputStream.cs
- ContextMarshalException.cs
- DataBinding.cs
- FloatSumAggregationOperator.cs
- DataSetMappper.cs
- ResourceBinder.cs
- UndoManager.cs
- ProtocolElementCollection.cs
- ViewGenResults.cs
- Triangle.cs
- AnnotationComponentChooser.cs
- ASCIIEncoding.cs
- QuadTree.cs
- ConnectionPoint.cs
- CollectionDataContract.cs
- OutKeywords.cs
- SafeSerializationManager.cs
- Thread.cs
- ProxyWebPartManager.cs
- AbandonedMutexException.cs
- _CacheStreams.cs
- SecurityTokenResolver.cs
- DataBinder.cs
- XmlSchemaAnyAttribute.cs
- BevelBitmapEffect.cs
- SemanticBasicElement.cs
- AttributeInfo.cs
- DetailsViewRow.cs
- WebPartZoneCollection.cs
- CodeSnippetTypeMember.cs
- CoreSwitches.cs
- ClientTargetCollection.cs
- HttpProfileGroupBase.cs
- UrlPath.cs
- GroupStyle.cs
- CompilerLocalReference.cs
- WindowsFont.cs
- DataGridColumnEventArgs.cs
- VirtualizingPanel.cs
- ADMembershipProvider.cs
- AuthStoreRoleProvider.cs
- EntityDataSource.cs
- XmlSubtreeReader.cs
- XmlEncodedRawTextWriter.cs
- BrowserDefinition.cs
- JsonXmlDataContract.cs
- Metafile.cs
- ValidationSummary.cs
- SystemBrushes.cs
- DescendantBaseQuery.cs
- COM2ComponentEditor.cs
- HtmlTextArea.cs
- ExceptionUtil.cs
- XmlBoundElement.cs
- XmlSchemaInclude.cs
- UnsafeCollabNativeMethods.cs
- ExecutionEngineException.cs
- CommandConverter.cs
- XPathAxisIterator.cs
- DesignerAttributeInfo.cs
- DependencyStoreSurrogate.cs
- LambdaCompiler.Generated.cs
- TextEditorThreadLocalStore.cs
- ClientOperation.cs
- KeyValuePair.cs
- IntSecurity.cs
- ConvertEvent.cs
- SystemIcmpV6Statistics.cs
- DataBinding.cs
- SystemIPGlobalProperties.cs
- _BaseOverlappedAsyncResult.cs
- ActivationServices.cs
- ArgumentValue.cs
- DragEvent.cs
- StreamInfo.cs
- InstanceCreationEditor.cs
- CreateUserWizardDesigner.cs