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
- SpeechEvent.cs
- ApplicationManager.cs
- NetworkCredential.cs
- CollaborationHelperFunctions.cs
- tibetanshape.cs
- ExecutedRoutedEventArgs.cs
- ProviderSettingsCollection.cs
- XmlValueConverter.cs
- DrawTreeNodeEventArgs.cs
- StylusCollection.cs
- RichTextBoxAutomationPeer.cs
- TextEditorDragDrop.cs
- WindowsToolbar.cs
- WebEventCodes.cs
- MenuBindingsEditor.cs
- System.Data_BID.cs
- ModuleConfigurationInfo.cs
- CompilerTypeWithParams.cs
- AddingNewEventArgs.cs
- ToolStripTextBox.cs
- MobileUserControlDesigner.cs
- Constraint.cs
- ImageAnimator.cs
- Help.cs
- X509CertificateCollection.cs
- TypeAccessException.cs
- Ref.cs
- ToolboxItemLoader.cs
- ValidationRule.cs
- DBSqlParserColumn.cs
- ProxyWebPartManager.cs
- InheritanceService.cs
- DataTemplateSelector.cs
- OptimalBreakSession.cs
- TypeForwardedFromAttribute.cs
- ScriptMethodAttribute.cs
- WhiteSpaceTrimStringConverter.cs
- CommandField.cs
- ResolveCompletedEventArgs.cs
- ColumnPropertiesGroup.cs
- XmlDataSourceView.cs
- DataQuery.cs
- TypedTableBaseExtensions.cs
- ExpressionVisitorHelpers.cs
- DesignerEditorPartChrome.cs
- ImageButton.cs
- CroppedBitmap.cs
- CodeMemberProperty.cs
- ToolBarButtonClickEvent.cs
- RemoveStoryboard.cs
- InstanceDataCollectionCollection.cs
- OutputCacheSettingsSection.cs
- OrCondition.cs
- FlowDocumentPaginator.cs
- FtpRequestCacheValidator.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- XmlLinkedNode.cs
- FormView.cs
- EntityContainerEntitySetDefiningQuery.cs
- TypeHelper.cs
- XdrBuilder.cs
- AnnotationDocumentPaginator.cs
- StackOverflowException.cs
- IgnoreSectionHandler.cs
- X509ServiceCertificateAuthentication.cs
- SmiRecordBuffer.cs
- DataGridColumnHeader.cs
- ThreadNeutralSemaphore.cs
- DuplicateWaitObjectException.cs
- Exceptions.cs
- KeyFrames.cs
- QueryPageSettingsEventArgs.cs
- RuleEngine.cs
- FacetDescriptionElement.cs
- NullableIntMinMaxAggregationOperator.cs
- SamlDelegatingWriter.cs
- PeerEndPoint.cs
- IdentityNotMappedException.cs
- SimpleLine.cs
- SQLDateTime.cs
- SessionSwitchEventArgs.cs
- ProcessModelInfo.cs
- HostVisual.cs
- DataGridPagerStyle.cs
- DataListCommandEventArgs.cs
- ETagAttribute.cs
- AsymmetricSignatureDeformatter.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- FileUtil.cs
- ApplicationServiceManager.cs
- DynamicMethod.cs
- ComponentChangedEvent.cs
- Mouse.cs
- BaseValidator.cs
- DictationGrammar.cs
- SafeNativeMethods.cs
- Gdiplus.cs
- DateTimeFormat.cs
- XmlSchemaExporter.cs
- TrueReadOnlyCollection.cs