Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / AddIn / AddIn / System / Addin / Hosting / Store / AddInBase.cs / 1305376 / AddInBase.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: AddInBase ** ** Purpose: Represents an add-in's base class on disk. ** ===========================================================*/ using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Globalization; using System.Text; using System.AddIn.MiniReflection; using System.Reflection; using System.Diagnostics.Contracts; namespace System.AddIn { [Serializable] internal sealed class AddInBase : PipelineComponent { internal TypeInfo[] _activatableAs; internal String _assemblyName; public AddInBase(TypeInfo typeInfo, TypeInfo[] activatableAs, String assemblyLocation, String assemblyName) : base(typeInfo, assemblyLocation) { _activatableAs = activatableAs; _assemblyName = assemblyName; } public override string ToString() { return String.Format(CultureInfo.CurrentCulture, Res.AddInBaseToString, Name, BestAvailableLocation); } internal override bool Validate(Type type, Collectionwarnings) { if (type.IsClass && type.IsSealed) { warnings.Add(String.Format(CultureInfo.CurrentCulture, Res.AddInBaseMustBeSubclassable, Name)); return false; } return base.Validate(type, warnings); } internal bool CanDirectConnectTo(TypeInfo havTypeInfo) { bool result = false; if(havTypeInfo.Equals(TypeInfo)) { // Check the add-in base's type info. result = true; } else if(_activatableAs != null) { // Check the ActivatableAs types. for(int i = 0; i < _activatableAs.Length && result == false; i++) { if(_activatableAs[i].Equals(havTypeInfo)) { result = true; } } } return result; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: AddInBase ** ** Purpose: Represents an add-in's base class on disk. ** ===========================================================*/ using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Globalization; using System.Text; using System.AddIn.MiniReflection; using System.Reflection; using System.Diagnostics.Contracts; namespace System.AddIn { [Serializable] internal sealed class AddInBase : PipelineComponent { internal TypeInfo[] _activatableAs; internal String _assemblyName; public AddInBase(TypeInfo typeInfo, TypeInfo[] activatableAs, String assemblyLocation, String assemblyName) : base(typeInfo, assemblyLocation) { _activatableAs = activatableAs; _assemblyName = assemblyName; } public override string ToString() { return String.Format(CultureInfo.CurrentCulture, Res.AddInBaseToString, Name, BestAvailableLocation); } internal override bool Validate(Type type, Collection warnings) { if (type.IsClass && type.IsSealed) { warnings.Add(String.Format(CultureInfo.CurrentCulture, Res.AddInBaseMustBeSubclassable, Name)); return false; } return base.Validate(type, warnings); } internal bool CanDirectConnectTo(TypeInfo havTypeInfo) { bool result = false; if(havTypeInfo.Equals(TypeInfo)) { // Check the add-in base's type info. result = true; } else if(_activatableAs != null) { // Check the ActivatableAs types. for(int i = 0; i < _activatableAs.Length && result == false; i++) { if(_activatableAs[i].Equals(havTypeInfo)) { result = true; } } } return result; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TransactionBridgeSection.cs
- SqlStatistics.cs
- PolyLineSegment.cs
- ForceCopyBuildProvider.cs
- FaultConverter.cs
- PopupEventArgs.cs
- FixedSOMTableRow.cs
- PersonalizationStateInfo.cs
- ExpressionPrefixAttribute.cs
- EmbeddedMailObject.cs
- CodeDomSerializer.cs
- SchemaAttDef.cs
- WindowsSlider.cs
- QueryResults.cs
- OleDbEnumerator.cs
- LocalizabilityAttribute.cs
- WebBrowserDocumentCompletedEventHandler.cs
- ToolZone.cs
- InstanceKeyView.cs
- ProtectedProviderSettings.cs
- InvalidateEvent.cs
- DataGridViewIntLinkedList.cs
- UrlMapping.cs
- HashCodeCombiner.cs
- smtpconnection.cs
- ZipPackagePart.cs
- XmlLangPropertyAttribute.cs
- DBPropSet.cs
- QualifierSet.cs
- HeaderElement.cs
- SmuggledIUnknown.cs
- WebPartCloseVerb.cs
- StringToken.cs
- DetectEofStream.cs
- ParserContext.cs
- BrowserCapabilitiesFactoryBase.cs
- TextBounds.cs
- XMLUtil.cs
- ExcludeFromCodeCoverageAttribute.cs
- OleDbStruct.cs
- ValueOfAction.cs
- SerializationException.cs
- ThreadExceptionDialog.cs
- DeploymentSection.cs
- EntityDataSourceContainerNameConverter.cs
- UnsafeNativeMethodsMilCoreApi.cs
- MediaTimeline.cs
- ExceptionUtil.cs
- BaseServiceProvider.cs
- WindowAutomationPeer.cs
- BitmapEffectGeneralTransform.cs
- ListViewEditEventArgs.cs
- TextSegment.cs
- ColorPalette.cs
- XmlILAnnotation.cs
- SiteIdentityPermission.cs
- DataSourceCacheDurationConverter.cs
- MultiplexingFormatMapping.cs
- URLAttribute.cs
- FixedTextBuilder.cs
- BlurBitmapEffect.cs
- SchemaElement.cs
- BuildManagerHost.cs
- CodePageUtils.cs
- TypeTypeConverter.cs
- SQLCharsStorage.cs
- PageCatalogPart.cs
- FormsAuthenticationTicket.cs
- LoginView.cs
- LabelEditEvent.cs
- XXXInfos.cs
- List.cs
- Schema.cs
- MergeEnumerator.cs
- StorageMappingItemLoader.cs
- SafeRegistryHandle.cs
- GlyphingCache.cs
- DataStorage.cs
- UInt16.cs
- HtmlFormParameterReader.cs
- MessageBox.cs
- XsdDateTime.cs
- SafeFileMapViewHandle.cs
- WebPartEditorApplyVerb.cs
- NonBatchDirectoryCompiler.cs
- DecimalMinMaxAggregationOperator.cs
- TypeElement.cs
- WebPartManager.cs
- SmiGettersStream.cs
- ISAPIApplicationHost.cs
- DynamicDocumentPaginator.cs
- WindowsListViewGroupSubsetLink.cs
- CacheVirtualItemsEvent.cs
- ISCIIEncoding.cs
- DiscoveryDocument.cs
- Interfaces.cs
- ConfigurationStrings.cs
- DelegatedStream.cs
- FlowSwitchDesigner.xaml.cs
- WindowsEditBoxRange.cs