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
- DependencyPropertyHelper.cs
- PeerService.cs
- TemplateNameScope.cs
- XsltArgumentList.cs
- HttpModuleCollection.cs
- ListBindableAttribute.cs
- EventLogPermissionEntry.cs
- Knowncolors.cs
- Code.cs
- _SslStream.cs
- NumberSubstitution.cs
- SemanticTag.cs
- Decimal.cs
- TableHeaderCell.cs
- PersonalizationProviderCollection.cs
- UnauthorizedAccessException.cs
- util.cs
- Clause.cs
- EncryptedXml.cs
- ItemList.cs
- VariableQuery.cs
- TableCell.cs
- EntityContainer.cs
- DesignerEventService.cs
- CodeTypeReferenceExpression.cs
- CalendarButton.cs
- CustomCategoryAttribute.cs
- XmlConvert.cs
- MeasurementDCInfo.cs
- OdbcEnvironmentHandle.cs
- ResourceDisplayNameAttribute.cs
- QuinticEase.cs
- BrowserInteropHelper.cs
- SqlException.cs
- HostVisual.cs
- CompressionTransform.cs
- PrimitiveXmlSerializers.cs
- SqlCharStream.cs
- UpdateRecord.cs
- Form.cs
- Misc.cs
- CountAggregationOperator.cs
- EnumValAlphaComparer.cs
- NetDataContractSerializer.cs
- AssemblyCache.cs
- TraceUtility.cs
- CounterCreationData.cs
- DataGridViewCellFormattingEventArgs.cs
- XamlWrapperReaders.cs
- StrongNameUtility.cs
- TextParaClient.cs
- QuaternionAnimation.cs
- DocumentViewerHelper.cs
- Material.cs
- ClientRuntimeConfig.cs
- PersonalizationStateInfo.cs
- Attributes.cs
- SQLDoubleStorage.cs
- WebPartConnectionsEventArgs.cs
- SQLString.cs
- SchemaCollectionPreprocessor.cs
- HandleRef.cs
- DateTimeConverter2.cs
- DbCommandDefinition.cs
- HttpHostedTransportConfiguration.cs
- DataSource.cs
- FlowLayoutSettings.cs
- BezierSegment.cs
- Operand.cs
- CacheOutputQuery.cs
- TableLayoutPanelBehavior.cs
- ListViewAutomationPeer.cs
- HtmlElement.cs
- RequestResizeEvent.cs
- ColorTransform.cs
- Contracts.cs
- DataObjectMethodAttribute.cs
- RuleDefinitions.cs
- StructuredTypeEmitter.cs
- PagesChangedEventArgs.cs
- ExtendedPropertyDescriptor.cs
- linebase.cs
- StrokeRenderer.cs
- DragDrop.cs
- X509CertificateValidator.cs
- WindowsBrush.cs
- BooleanAnimationBase.cs
- PhysicalAddress.cs
- Lease.cs
- TailCallAnalyzer.cs
- StaticFileHandler.cs
- ListItemViewControl.cs
- MonitoringDescriptionAttribute.cs
- ExpressionNode.cs
- DataGridColumnHeadersPresenterAutomationPeer.cs
- PLINQETWProvider.cs
- DataGridCell.cs
- RecordManager.cs
- DataSourceSelectArguments.cs
- QilInvokeLateBound.cs