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
- InputReferenceExpression.cs
- CompiledRegexRunner.cs
- LocalizationCodeDomSerializer.cs
- figurelength.cs
- MenuItemStyle.cs
- DateTimeStorage.cs
- Task.cs
- ViewCellRelation.cs
- ProfileSection.cs
- XmlCharacterData.cs
- DictionaryManager.cs
- RowSpanVector.cs
- SiteMapSection.cs
- SqlBuffer.cs
- DataRecordInfo.cs
- InputElement.cs
- OracleMonthSpan.cs
- FlowLayout.cs
- SqlResolver.cs
- WindowsHyperlink.cs
- SmtpMail.cs
- VariantWrapper.cs
- IsolatedStorageFileStream.cs
- ParseElement.cs
- ContractType.cs
- ServiceMoniker.cs
- RectAnimation.cs
- CounterSampleCalculator.cs
- SmtpClient.cs
- AppDomainEvidenceFactory.cs
- DataStorage.cs
- WebPartHelpVerb.cs
- WebPartCancelEventArgs.cs
- FlowSwitchDesigner.xaml.cs
- ManipulationStartedEventArgs.cs
- ListComponentEditorPage.cs
- ToolStripDropDownMenu.cs
- JsonFormatGeneratorStatics.cs
- QuotedPrintableStream.cs
- PageParserFilter.cs
- AttributeProviderAttribute.cs
- KeyValuePair.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- SoapObjectWriter.cs
- EntityDataSourceState.cs
- WindowsListViewItem.cs
- ToolStripManager.cs
- TraceData.cs
- Monitor.cs
- Rect3D.cs
- StateMachine.cs
- OutputCacheModule.cs
- PocoPropertyAccessorStrategy.cs
- ToolStripContentPanelRenderEventArgs.cs
- Run.cs
- Margins.cs
- FamilyTypefaceCollection.cs
- ScopedMessagePartSpecification.cs
- Command.cs
- XsdDateTime.cs
- PointLight.cs
- CngKeyCreationParameters.cs
- DeclarativeCatalogPart.cs
- SafeSecurityHandles.cs
- PowerEase.cs
- DataTableClearEvent.cs
- XmlDeclaration.cs
- WindowsUpDown.cs
- Rect3DValueSerializer.cs
- ZipIOCentralDirectoryFileHeader.cs
- GridViewRowPresenter.cs
- TreeNodeSelectionProcessor.cs
- XmlNode.cs
- __ComObject.cs
- HandlerWithFactory.cs
- StylusCollection.cs
- RandomNumberGenerator.cs
- IDReferencePropertyAttribute.cs
- ParseNumbers.cs
- IntegerFacetDescriptionElement.cs
- HyperLinkDesigner.cs
- PreviousTrackingServiceAttribute.cs
- UnsafeNativeMethods.cs
- mactripleDES.cs
- ArgumentValueSerializer.cs
- Vars.cs
- TextModifier.cs
- XmlTextReaderImplHelpers.cs
- WebZone.cs
- MetadataUtilsSmi.cs
- WindowsListViewSubItem.cs
- OleDbException.cs
- ParseNumbers.cs
- PagesSection.cs
- ArgumentValidation.cs
- XmlAnyElementAttributes.cs
- DesignerWidgets.cs
- NamespaceQuery.cs
- ModelPropertyImpl.cs
- WindowsToolbar.cs