Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / FeatureSupport.cs / 1305376 / 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
- CanonicalFontFamilyReference.cs
- cache.cs
- NumericPagerField.cs
- RegionData.cs
- XmlLoader.cs
- ImageSource.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- DetailsViewRow.cs
- SqlNodeAnnotations.cs
- DisableDpiAwarenessAttribute.cs
- namescope.cs
- BrowserCapabilitiesCodeGenerator.cs
- securitycriticaldata.cs
- JumpItem.cs
- SoapSchemaExporter.cs
- AssemblyBuilder.cs
- Wizard.cs
- HttpGetClientProtocol.cs
- TaskFormBase.cs
- TableRow.cs
- RawMouseInputReport.cs
- RecognizerInfo.cs
- SpecialNameAttribute.cs
- BufferModeSettings.cs
- ByteStreamGeometryContext.cs
- Repeater.cs
- WsdlParser.cs
- CommonRemoteMemoryBlock.cs
- ButtonAutomationPeer.cs
- DummyDataSource.cs
- Misc.cs
- LinkArea.cs
- CalendarDateRange.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- SQLBytesStorage.cs
- MenuEventArgs.cs
- HandoffBehavior.cs
- MetadataItem_Static.cs
- coordinatorfactory.cs
- LinearQuaternionKeyFrame.cs
- BaseTemplateCodeDomTreeGenerator.cs
- ViewManager.cs
- Utils.cs
- EventWaitHandleSecurity.cs
- TextEffectResolver.cs
- XmlSchemaCollection.cs
- ControlBindingsCollection.cs
- RadioButton.cs
- ConfigXmlAttribute.cs
- UrlPath.cs
- BaseTypeViewSchema.cs
- ProfilePropertyMetadata.cs
- XmlCharCheckingReader.cs
- MaskedTextBoxTextEditor.cs
- HtmlInputButton.cs
- SafeSecurityHandles.cs
- TaskDesigner.cs
- SizeAnimationClockResource.cs
- ListChangedEventArgs.cs
- EntityChangedParams.cs
- PackagingUtilities.cs
- FormsIdentity.cs
- SortedDictionary.cs
- DataGridViewComboBoxCell.cs
- DatePickerTextBox.cs
- MultiTrigger.cs
- ExpressionEditorAttribute.cs
- TextStore.cs
- HttpListenerResponse.cs
- SyndicationSerializer.cs
- BaseTransportHeaders.cs
- MissingMethodException.cs
- Win32.cs
- InvalidCastException.cs
- Connection.cs
- XmlLoader.cs
- DefaultValidator.cs
- SkewTransform.cs
- XmlDocumentViewSchema.cs
- EarlyBoundInfo.cs
- DoWhileDesigner.xaml.cs
- EntityKey.cs
- HtmlTitle.cs
- AggregationMinMaxHelpers.cs
- RequestNavigateEventArgs.cs
- CssTextWriter.cs
- Attributes.cs
- ByteConverter.cs
- ItemCheckEvent.cs
- ResourceDictionaryCollection.cs
- MobileSysDescriptionAttribute.cs
- SqlExpander.cs
- Vertex.cs
- DataViewSetting.cs
- DocumentXmlWriter.cs
- ListComponentEditor.cs
- SystemMulticastIPAddressInformation.cs
- ObjectHandle.cs
- Brushes.cs
- PlainXmlSerializer.cs