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
- EntityProxyFactory.cs
- ExceptionUtil.cs
- DockEditor.cs
- ReflectionUtil.cs
- ToolStripSplitStackLayout.cs
- CalendarDay.cs
- Walker.cs
- ContextMenuStrip.cs
- GeneralTransform3DCollection.cs
- ConstraintConverter.cs
- SafeRegistryKey.cs
- Pen.cs
- RelationshipConstraintValidator.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- InkCanvasFeedbackAdorner.cs
- ExpressionVisitorHelpers.cs
- XmlSchemaFacet.cs
- TcpStreams.cs
- TakeOrSkipWhileQueryOperator.cs
- DodSequenceMerge.cs
- FormsAuthenticationEventArgs.cs
- UnionExpr.cs
- ControlBuilderAttribute.cs
- TemplateEditingVerb.cs
- Baml6ConstructorInfo.cs
- SafePointer.cs
- ResXBuildProvider.cs
- ProcessModule.cs
- SQLInt16.cs
- StdValidatorsAndConverters.cs
- ProcessHostMapPath.cs
- RepeatBehavior.cs
- CustomAttributeBuilder.cs
- XmlBinaryReader.cs
- ValidationManager.cs
- JsonFormatReaderGenerator.cs
- BooleanExpr.cs
- DrawingContext.cs
- LocalizationParserHooks.cs
- DataGridViewHitTestInfo.cs
- MessageContractExporter.cs
- FileUpload.cs
- LinqDataSourceView.cs
- SettingsContext.cs
- UndoManager.cs
- DecoderFallbackWithFailureFlag.cs
- TypeElement.cs
- RadioButtonFlatAdapter.cs
- HostingPreferredMapPath.cs
- FontFamilyValueSerializer.cs
- FtpCachePolicyElement.cs
- ImageList.cs
- RemotingSurrogateSelector.cs
- Literal.cs
- Int32AnimationUsingKeyFrames.cs
- ListBoxItemWrapperAutomationPeer.cs
- SequenceFullException.cs
- CheckStoreFileValidityRequest.cs
- DBBindings.cs
- VisualStates.cs
- AssemblyAttributesGoHere.cs
- CodeRemoveEventStatement.cs
- SimpleRecyclingCache.cs
- Vector3D.cs
- FormatSettings.cs
- RestClientProxyHandler.cs
- XmlSchemaParticle.cs
- TextProperties.cs
- SourceSwitch.cs
- PersonalizationProviderCollection.cs
- ArraySubsetEnumerator.cs
- ExceptionHelpers.cs
- Button.cs
- PropertyEmitterBase.cs
- UnsafeNativeMethods.cs
- CheckBoxFlatAdapter.cs
- SqlDependencyListener.cs
- DesignerView.Commands.cs
- ObjectToken.cs
- OleDbConnection.cs
- Ipv6Element.cs
- TripleDES.cs
- SerialReceived.cs
- ValidateNames.cs
- XmlExceptionHelper.cs
- WebControlsSection.cs
- Pair.cs
- MutexSecurity.cs
- SynchronizingStream.cs
- JournalEntry.cs
- OrderToken.cs
- TreeNodeClickEventArgs.cs
- HttpResponse.cs
- FormViewDeletedEventArgs.cs
- UnconditionalPolicy.cs
- CodeDirectiveCollection.cs
- ColumnMapTranslator.cs
- XmlWrappingReader.cs
- SQLMoney.cs
- DBCommand.cs