Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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. //------------------------------------------------------------------------------ //When overridden in a derived class, gets the version of the specified /// feature that is available on the system. ///// 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.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
- OutputWindow.cs
- XmlWrappingReader.cs
- DefaultPropertiesToSend.cs
- SafeRightsManagementHandle.cs
- DrawingImage.cs
- SecurityTokenResolver.cs
- IPEndPointCollection.cs
- LiteralControl.cs
- SqlDataRecord.cs
- HostSecurityManager.cs
- VolatileEnlistmentState.cs
- FormViewRow.cs
- xamlnodes.cs
- Collection.cs
- TextWriterEngine.cs
- IUnknownConstantAttribute.cs
- Point4D.cs
- WpfPayload.cs
- SigningProgress.cs
- ParallelQuery.cs
- StorageSetMapping.cs
- CodeTypeParameterCollection.cs
- QueryInterceptorAttribute.cs
- DataGridViewCellParsingEventArgs.cs
- ExistsInCollection.cs
- TextureBrush.cs
- MouseGestureConverter.cs
- CodeSnippetTypeMember.cs
- FontWeights.cs
- SerializableAttribute.cs
- ReadOnlyDictionary.cs
- ConnectionProviderAttribute.cs
- Aggregates.cs
- RadialGradientBrush.cs
- TraceUtility.cs
- DelayedRegex.cs
- ProfileEventArgs.cs
- SqlStatistics.cs
- SectionVisual.cs
- AndCondition.cs
- TemplateControlParser.cs
- NewArrayExpression.cs
- QueryCursorEventArgs.cs
- CompilerTypeWithParams.cs
- MemberRelationshipService.cs
- CacheForPrimitiveTypes.cs
- XmlQueryContext.cs
- XmlComment.cs
- DesignerVerbCollection.cs
- XsltContext.cs
- NetworkInformationException.cs
- RelationshipConstraintValidator.cs
- XmlSchemaAnyAttribute.cs
- TableRowCollection.cs
- XmlQualifiedName.cs
- BufferModesCollection.cs
- OracleDataAdapter.cs
- ReachUIElementCollectionSerializerAsync.cs
- XmlSchemaInferenceException.cs
- HtmlInputPassword.cs
- EntityModelSchemaGenerator.cs
- ArcSegment.cs
- TaskHelper.cs
- PolicyImporterElement.cs
- InkCanvasInnerCanvas.cs
- DataGridViewHeaderCell.cs
- KnownBoxes.cs
- NamedServiceModelExtensionCollectionElement.cs
- ImageClickEventArgs.cs
- QilStrConcat.cs
- CompilerResults.cs
- RefreshPropertiesAttribute.cs
- SchemaMapping.cs
- CommandField.cs
- MSHTMLHost.cs
- TraceContextRecord.cs
- UniformGrid.cs
- GC.cs
- CategoryGridEntry.cs
- BitConverter.cs
- ToolStripContentPanel.cs
- TypeCollectionDesigner.xaml.cs
- EncryptedXml.cs
- transactioncontext.cs
- ConfigurationLocation.cs
- Ticks.cs
- SerializationFieldInfo.cs
- RsaSecurityKey.cs
- MarkedHighlightComponent.cs
- CommaDelimitedStringAttributeCollectionConverter.cs
- WindowsRichEdit.cs
- TextEditorDragDrop.cs
- IgnoreFlushAndCloseStream.cs
- Faults.cs
- DoubleAnimationClockResource.cs
- GridViewDeleteEventArgs.cs
- MetadataPropertyAttribute.cs
- RuleProcessor.cs
- LongTypeConverter.cs
- SafeFileMapViewHandle.cs