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
- WorkflowTransactionOptions.cs
- Metadata.cs
- Group.cs
- Internal.cs
- ObjectDisposedException.cs
- ConnectionConsumerAttribute.cs
- SystemNetworkInterface.cs
- OrderedHashRepartitionEnumerator.cs
- Button.cs
- DbQueryCommandTree.cs
- SecurityKeyUsage.cs
- SigningDialog.cs
- TrackingRecord.cs
- TrackingMemoryStreamFactory.cs
- XmlNamespaceMappingCollection.cs
- JournalNavigationScope.cs
- EmptyQuery.cs
- DataBoundControlHelper.cs
- ConstraintCollection.cs
- TransactionInformation.cs
- DBSqlParserTableCollection.cs
- Authorization.cs
- TextWriter.cs
- FixedMaxHeap.cs
- BaseProcessor.cs
- RbTree.cs
- CodeDOMProvider.cs
- ContractComponent.cs
- SoapSchemaExporter.cs
- EntityConnection.cs
- ToolboxDataAttribute.cs
- RectangleHotSpot.cs
- BindStream.cs
- ScrollChangedEventArgs.cs
- EventBuilder.cs
- KerberosTicketHashIdentifierClause.cs
- StreamGeometryContext.cs
- ExpressionBuilderContext.cs
- MsmqBindingElementBase.cs
- CompositeDuplexBindingElementImporter.cs
- PenContexts.cs
- SizeAnimation.cs
- GridViewAutoFormat.cs
- JsonWriterDelegator.cs
- ChangeProcessor.cs
- StaticDataManager.cs
- MetadataItemEmitter.cs
- LayoutDump.cs
- DrawingImage.cs
- XmlAttributeProperties.cs
- dbdatarecord.cs
- HtmlValidationSummaryAdapter.cs
- APCustomTypeDescriptor.cs
- ScriptComponentDescriptor.cs
- TypedTableBase.cs
- SqlInternalConnection.cs
- CodeTypeDeclaration.cs
- OdbcParameter.cs
- MemoryStream.cs
- SurrogateEncoder.cs
- AsmxEndpointPickerExtension.cs
- SimpleMailWebEventProvider.cs
- PropertyEmitter.cs
- RegexReplacement.cs
- BindingContext.cs
- NativeMethods.cs
- ObjectPersistData.cs
- RadioButtonFlatAdapter.cs
- OleDbDataReader.cs
- SelectorAutomationPeer.cs
- SamlSerializer.cs
- SchemaTableColumn.cs
- HMACSHA384.cs
- RIPEMD160Managed.cs
- XmlSchemaAttributeGroup.cs
- GridViewHeaderRowPresenter.cs
- ImageAutomationPeer.cs
- InheritanceContextChangedEventManager.cs
- ForwardPositionQuery.cs
- OutputWindow.cs
- ElementAction.cs
- DesigntimeLicenseContextSerializer.cs
- RightsManagementEncryptionTransform.cs
- WorkflowQueuingService.cs
- AssemblyInfo.cs
- EntityDataSourceUtil.cs
- SortKey.cs
- GenerateTemporaryTargetAssembly.cs
- ActivityExecutor.cs
- XDeferredAxisSource.cs
- Application.cs
- LifetimeServices.cs
- MessageEnumerator.cs
- DeobfuscatingStream.cs
- ExpressionVisitor.cs
- formatter.cs
- Selector.cs
- GPStream.cs
- ThrowHelper.cs
- WebDisplayNameAttribute.cs