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
- WorkflowCompensationBehavior.cs
- XmlBaseReader.cs
- ResolveNameEventArgs.cs
- UnmanagedMemoryStreamWrapper.cs
- Vector3DCollectionConverter.cs
- DataBindingList.cs
- HtmlElementCollection.cs
- FacetValues.cs
- RecordConverter.cs
- TransportListener.cs
- VScrollBar.cs
- storagemappingitemcollection.viewdictionary.cs
- PointUtil.cs
- RangeValuePatternIdentifiers.cs
- LogicalExpr.cs
- OdbcCommand.cs
- PrimitiveType.cs
- IssuanceTokenProviderState.cs
- ValidatingPropertiesEventArgs.cs
- ResolveNameEventArgs.cs
- DataPagerFieldCommandEventArgs.cs
- DemultiplexingClientMessageFormatter.cs
- TransactionFilter.cs
- Rect3D.cs
- State.cs
- EventLogTraceListener.cs
- X509Utils.cs
- ImpersonationContext.cs
- PolyBezierSegment.cs
- HtmlElementEventArgs.cs
- InputLanguage.cs
- PackageRelationshipCollection.cs
- ScriptControlDescriptor.cs
- PartitionResolver.cs
- HelpInfo.cs
- ForceCopyBuildProvider.cs
- PeerTransportSecuritySettings.cs
- ContractComponent.cs
- SafeNativeMethodsCLR.cs
- ListControlBoundActionList.cs
- ConfigurationLoader.cs
- IntPtr.cs
- ProtocolsSection.cs
- PhysicalFontFamily.cs
- XmlSortKey.cs
- LookupBindingPropertiesAttribute.cs
- BufferModeSettings.cs
- SerializationException.cs
- MsmqIntegrationBindingElement.cs
- FormatterConverter.cs
- shaperfactory.cs
- DataListItemCollection.cs
- AggregateNode.cs
- ColumnPropertiesGroup.cs
- HttpCookie.cs
- ResolveNextArgumentWorkItem.cs
- SqlInternalConnectionSmi.cs
- AnonymousIdentificationSection.cs
- InputProcessorProfiles.cs
- NativeCompoundFileAPIs.cs
- _AutoWebProxyScriptEngine.cs
- SqlAliasesReferenced.cs
- CalendarDateChangedEventArgs.cs
- SettingsProviderCollection.cs
- ListControl.cs
- TextContainerHelper.cs
- xamlnodes.cs
- RelatedEnd.cs
- XMLDiffLoader.cs
- ViewRendering.cs
- AndCondition.cs
- SecurityAlgorithmSuite.cs
- UserControlCodeDomTreeGenerator.cs
- BitmapEffectInputData.cs
- SponsorHelper.cs
- ColorConverter.cs
- MsmqUri.cs
- FixUp.cs
- ProcessManager.cs
- OracleInternalConnection.cs
- Variable.cs
- PolyQuadraticBezierSegment.cs
- DataGridViewImageColumn.cs
- ExceptionUtil.cs
- loginstatus.cs
- XmlSchemaElement.cs
- ManagementOptions.cs
- SelectionItemPattern.cs
- WebEncodingValidatorAttribute.cs
- NamedPermissionSet.cs
- Matrix3DStack.cs
- ByteRangeDownloader.cs
- QueryGenerator.cs
- EventMappingSettingsCollection.cs
- Shape.cs
- Module.cs
- CommentGlyph.cs
- WsdlImporterElementCollection.cs
- SamlDelegatingWriter.cs
- DBPropSet.cs