Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / AddIn / AddIn / System / Addin / Hosting / Store / ContractComponent.cs / 1305376 / ContractComponent.cs
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
/*============================================================
**
** Class: ContractComponent
**
** Purpose: Represents a class that implements IContract on
** disk, for the add-in model.
**
===========================================================*/
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Globalization;
using System.Text;
using System.AddIn.MiniReflection;
using System.Diagnostics.Contracts;
namespace System.AddIn
{
[Serializable]
internal sealed class ContractComponent : PipelineComponent
{
public ContractComponent(TypeInfo typeInfo, String assemblyLocation) : base(typeInfo, assemblyLocation)
{
}
public override string ToString()
{
return String.Format(CultureInfo.CurrentCulture, Res.ContractToString, Name, BestAvailableLocation);
}
internal override bool Validate(Type type, Collection warnings)
{
//if (!type.Implements(new TypeInfo(typeof(IContract))))
if (!IContractInReflectionLoaderContext.IsAssignableFrom(type))
{
warnings.Add(String.Format(CultureInfo.CurrentCulture, Res.ContractMustImplementIContract, Name));
return false;
}
if (!type.IsInterface)
{
warnings.Add(String.Format(CultureInfo.CurrentCulture, Res.ContractMustBeInterface, Name));
return false;
}
return base.Validate(type, warnings);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
/*============================================================
**
** Class: ContractComponent
**
** Purpose: Represents a class that implements IContract on
** disk, for the add-in model.
**
===========================================================*/
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Globalization;
using System.Text;
using System.AddIn.MiniReflection;
using System.Diagnostics.Contracts;
namespace System.AddIn
{
[Serializable]
internal sealed class ContractComponent : PipelineComponent
{
public ContractComponent(TypeInfo typeInfo, String assemblyLocation) : base(typeInfo, assemblyLocation)
{
}
public override string ToString()
{
return String.Format(CultureInfo.CurrentCulture, Res.ContractToString, Name, BestAvailableLocation);
}
internal override bool Validate(Type type, Collection warnings)
{
//if (!type.Implements(new TypeInfo(typeof(IContract))))
if (!IContractInReflectionLoaderContext.IsAssignableFrom(type))
{
warnings.Add(String.Format(CultureInfo.CurrentCulture, Res.ContractMustImplementIContract, Name));
return false;
}
if (!type.IsInterface)
{
warnings.Add(String.Format(CultureInfo.CurrentCulture, Res.ContractMustBeInterface, Name));
return false;
}
return base.Validate(type, warnings);
}
}
}
// 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
- DataGridViewCellConverter.cs
- ProcessHostServerConfig.cs
- SecurityProtocol.cs
- GridViewDesigner.cs
- UrlMappingsSection.cs
- MdImport.cs
- XmlArrayItemAttributes.cs
- ReadWriteSpinLock.cs
- PathFigure.cs
- RouteValueDictionary.cs
- UnicastIPAddressInformationCollection.cs
- Normalization.cs
- WebZoneDesigner.cs
- Utils.cs
- EventDescriptorCollection.cs
- MSHTMLHost.cs
- DataGridViewCellMouseEventArgs.cs
- ScheduleChanges.cs
- DelegateBodyWriter.cs
- GradientSpreadMethodValidation.cs
- ArrayWithOffset.cs
- MetadataItemEmitter.cs
- CompleteWizardStep.cs
- ProfileModule.cs
- NavigationProgressEventArgs.cs
- WebPartConnectionsCloseVerb.cs
- AbsoluteQuery.cs
- BitmapCacheBrush.cs
- CodeAccessPermission.cs
- SamlAuthorityBinding.cs
- AnimatedTypeHelpers.cs
- OleDbError.cs
- DataGridViewControlCollection.cs
- RightNameExpirationInfoPair.cs
- regiisutil.cs
- AssemblyNameEqualityComparer.cs
- DataList.cs
- WebEventTraceProvider.cs
- WebPartUtil.cs
- TypeUtil.cs
- AttachedProperty.cs
- AnimationClock.cs
- Publisher.cs
- TransformConverter.cs
- EventLogger.cs
- DoubleStorage.cs
- HelpInfo.cs
- NativeBuffer.cs
- DecoderNLS.cs
- UnsafeNativeMethods.cs
- X509ScopedServiceCertificateElement.cs
- AdapterDictionary.cs
- TextLineResult.cs
- AttachmentService.cs
- SymbolType.cs
- SaveFileDialog.cs
- CallContext.cs
- TrackingProfileManager.cs
- XmlException.cs
- ActivityIdHeader.cs
- DynamicExpression.cs
- ClientUtils.cs
- StringConcat.cs
- AsyncOperation.cs
- ToolStripItemTextRenderEventArgs.cs
- SubMenuStyleCollection.cs
- MonitoringDescriptionAttribute.cs
- CompoundFileDeflateTransform.cs
- IdentitySection.cs
- BinaryObjectInfo.cs
- RegexCode.cs
- BaseCodePageEncoding.cs
- LinqDataSource.cs
- TreeViewImageKeyConverter.cs
- CustomSignedXml.cs
- sqlmetadatafactory.cs
- HMACSHA1.cs
- OdbcCommand.cs
- DoWorkEventArgs.cs
- ConsoleCancelEventArgs.cs
- SecurityTokenSerializer.cs
- WSFederationHttpSecurityElement.cs
- MobileControlsSectionHelper.cs
- KoreanCalendar.cs
- CommonXSendMessage.cs
- ServicesSection.cs
- KeyGestureValueSerializer.cs
- BitmapEffectDrawingContextWalker.cs
- InputMethodStateChangeEventArgs.cs
- SystemKeyConverter.cs
- _Connection.cs
- DataMemberConverter.cs
- ScrollEvent.cs
- XPathScanner.cs
- FastPropertyAccessor.cs
- TraceListener.cs
- HtmlSelect.cs
- DataPagerCommandEventArgs.cs
- XmlAnyElementAttribute.cs
- SqlFactory.cs