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
- Enum.cs
- AssociationSetMetadata.cs
- HttpModuleAction.cs
- SQLBinary.cs
- WindowsSpinner.cs
- Command.cs
- CellPartitioner.cs
- VSWCFServiceContractGenerator.cs
- ButtonColumn.cs
- IgnoreDeviceFilterElementCollection.cs
- ProgressBarRenderer.cs
- SessionStateItemCollection.cs
- Separator.cs
- MemoryMappedViewStream.cs
- LayoutDump.cs
- ActivitySurrogate.cs
- ThemeDictionaryExtension.cs
- HtmlControlPersistable.cs
- SecurityHeaderTokenResolver.cs
- Overlapped.cs
- XhtmlBasicTextViewAdapter.cs
- WebBrowserProgressChangedEventHandler.cs
- UnsafeNativeMethods.cs
- ConsoleTraceListener.cs
- TextCollapsingProperties.cs
- DataGridViewColumnConverter.cs
- TryExpression.cs
- SqlParameterCollection.cs
- DebugTraceHelper.cs
- CalendarButton.cs
- AsyncCompletedEventArgs.cs
- CounterCreationDataCollection.cs
- ConditionalExpression.cs
- CodeComment.cs
- UniformGrid.cs
- contentDescriptor.cs
- sqlcontext.cs
- OutOfProcStateClientManager.cs
- DescendantOverDescendantQuery.cs
- FixedHighlight.cs
- XmlSchemaAnyAttribute.cs
- SmiRequestExecutor.cs
- AudioFileOut.cs
- GeometryGroup.cs
- RequestCachePolicy.cs
- DragDeltaEventArgs.cs
- InvokeFunc.cs
- AbstractDataSvcMapFileLoader.cs
- StringConverter.cs
- X509SubjectKeyIdentifierClause.cs
- WrappingXamlSchemaContext.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- CursorConverter.cs
- WebPartConnectionsCloseVerb.cs
- ArrayHelper.cs
- ConnectionPoint.cs
- CodeAttachEventStatement.cs
- FlowPosition.cs
- TreeNodeSelectionProcessor.cs
- XmlDataDocument.cs
- Vector3DValueSerializer.cs
- WindowsGraphics2.cs
- DesignerTextViewAdapter.cs
- AddInAttribute.cs
- ThemeDictionaryExtension.cs
- XmlSchemaObjectTable.cs
- NotCondition.cs
- InputBuffer.cs
- DataRowView.cs
- GroupBox.cs
- PageThemeBuildProvider.cs
- HtmlTextArea.cs
- ClickablePoint.cs
- TextParagraphCache.cs
- COM2ComponentEditor.cs
- TagNameToTypeMapper.cs
- PropertyCondition.cs
- TraceLevelHelper.cs
- SolidColorBrush.cs
- CompileLiteralTextParser.cs
- FileSystemInfo.cs
- OutOfProcStateClientManager.cs
- MsmqInputChannelBase.cs
- WSSecurityXXX2005.cs
- HtmlImage.cs
- GridViewRow.cs
- ASCIIEncoding.cs
- NavigationProperty.cs
- EmbeddedObject.cs
- ObjectDataSourceDisposingEventArgs.cs
- TextCollapsingProperties.cs
- TcpActivation.cs
- PermissionSetEnumerator.cs
- ConstrainedGroup.cs
- AddressHeaderCollection.cs
- Rijndael.cs
- RuntimeResourceSet.cs
- FacetEnabledSchemaElement.cs
- EntityCollectionChangedParams.cs
- XmlDocument.cs