Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Server / System / Data / Services / Providers / ResourceAssociationSetEnd.cs / 1305376 / ResourceAssociationSetEnd.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Describes an end point of a resource association set.
//
//
// @owner [....]
//---------------------------------------------------------------------
namespace System.Data.Services.Providers
{
using System.Diagnostics;
///
/// Class to describe an end point of a resource association set.
///
[DebuggerDisplay("ResourceAssociationSetEnd: {Name}: ({ResourceSet.Name}, {ResourceType.Name}, {ResourceProperty.Name})")]
public sealed class ResourceAssociationSetEnd
{
#region Private Fields
///
/// Resource set for the association end.
///
private readonly ResourceSet resourceSet;
///
/// Resource type for the association end.
///
private readonly ResourceType resourceType;
///
/// Resource property for the association end.
///
private readonly ResourceProperty resourceProperty;
#endregion Private Fields
#region Constructor
///
/// Constructs a ResourceAssociationEnd instance.
///
/// Resource set of the association end.
/// Resource type of the association end.
/// Resource property of the association end.
public ResourceAssociationSetEnd(ResourceSet resourceSet, ResourceType resourceType, ResourceProperty resourceProperty)
{
WebUtil.CheckArgumentNull(resourceSet, "resourceSet");
WebUtil.CheckArgumentNull(resourceType, "resourceType");
if (resourceProperty != null && (resourceType.TryResolvePropertyName(resourceProperty.Name) == null || resourceProperty.TypeKind != ResourceTypeKind.EntityType))
{
throw new ArgumentException(Strings.ResourceAssociationSetEnd_ResourcePropertyMustBeNavigationPropertyOnResourceType);
}
if (!resourceSet.ResourceType.IsAssignableFrom(resourceType) && !resourceType.IsAssignableFrom(resourceSet.ResourceType))
{
throw new ArgumentException(Strings.ResourceAssociationSetEnd_ResourceTypeMustBeAssignableToResourceSet);
}
this.resourceSet = resourceSet;
this.resourceType = resourceType;
// Note that for the TargetEnd, resourceProperty can be null.
this.resourceProperty = resourceProperty;
}
#endregion Constructor
#region Properties
///
/// Resource set for the association end.
///
public ResourceSet ResourceSet
{
[DebuggerStepThrough]
get { return this.resourceSet; }
}
///
/// Resource type for the association end.
///
public ResourceType ResourceType
{
[DebuggerStepThrough]
get { return this.resourceType; }
}
///
/// Resource property for the association end.
///
public ResourceProperty ResourceProperty
{
[DebuggerStepThrough]
get { return this.resourceProperty; }
}
#endregion Properties
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Describes an end point of a resource association set.
//
//
// @owner [....]
//---------------------------------------------------------------------
namespace System.Data.Services.Providers
{
using System.Diagnostics;
///
/// Class to describe an end point of a resource association set.
///
[DebuggerDisplay("ResourceAssociationSetEnd: {Name}: ({ResourceSet.Name}, {ResourceType.Name}, {ResourceProperty.Name})")]
public sealed class ResourceAssociationSetEnd
{
#region Private Fields
///
/// Resource set for the association end.
///
private readonly ResourceSet resourceSet;
///
/// Resource type for the association end.
///
private readonly ResourceType resourceType;
///
/// Resource property for the association end.
///
private readonly ResourceProperty resourceProperty;
#endregion Private Fields
#region Constructor
///
/// Constructs a ResourceAssociationEnd instance.
///
/// Resource set of the association end.
/// Resource type of the association end.
/// Resource property of the association end.
public ResourceAssociationSetEnd(ResourceSet resourceSet, ResourceType resourceType, ResourceProperty resourceProperty)
{
WebUtil.CheckArgumentNull(resourceSet, "resourceSet");
WebUtil.CheckArgumentNull(resourceType, "resourceType");
if (resourceProperty != null && (resourceType.TryResolvePropertyName(resourceProperty.Name) == null || resourceProperty.TypeKind != ResourceTypeKind.EntityType))
{
throw new ArgumentException(Strings.ResourceAssociationSetEnd_ResourcePropertyMustBeNavigationPropertyOnResourceType);
}
if (!resourceSet.ResourceType.IsAssignableFrom(resourceType) && !resourceType.IsAssignableFrom(resourceSet.ResourceType))
{
throw new ArgumentException(Strings.ResourceAssociationSetEnd_ResourceTypeMustBeAssignableToResourceSet);
}
this.resourceSet = resourceSet;
this.resourceType = resourceType;
// Note that for the TargetEnd, resourceProperty can be null.
this.resourceProperty = resourceProperty;
}
#endregion Constructor
#region Properties
///
/// Resource set for the association end.
///
public ResourceSet ResourceSet
{
[DebuggerStepThrough]
get { return this.resourceSet; }
}
///
/// Resource type for the association end.
///
public ResourceType ResourceType
{
[DebuggerStepThrough]
get { return this.resourceType; }
}
///
/// Resource property for the association end.
///
public ResourceProperty ResourceProperty
{
[DebuggerStepThrough]
get { return this.resourceProperty; }
}
#endregion Properties
}
}
// 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
- WebPartEditVerb.cs
- FileDialogCustomPlacesCollection.cs
- _LocalDataStoreMgr.cs
- RenderData.cs
- Stack.cs
- WindowsGraphics2.cs
- WebFaultClientMessageInspector.cs
- TcpClientSocketManager.cs
- ImageField.cs
- invalidudtexception.cs
- DirectoryGroupQuery.cs
- QuaternionIndependentAnimationStorage.cs
- MissingMemberException.cs
- CryptographicAttribute.cs
- ConfigurationLocationCollection.cs
- IPEndPoint.cs
- GuidelineSet.cs
- OutputCacheProfile.cs
- BuildProvider.cs
- MaterialGroup.cs
- ConfigXmlComment.cs
- DbDataReader.cs
- TextSelectionHighlightLayer.cs
- AuthenticationSection.cs
- VisualTreeHelper.cs
- XmlSchemaGroup.cs
- SqlDataReaderSmi.cs
- RuleElement.cs
- OdbcDataAdapter.cs
- AssociationTypeEmitter.cs
- SymDocumentType.cs
- BaseParser.cs
- Formatter.cs
- TextSegment.cs
- GridViewRowCollection.cs
- ContentFilePart.cs
- CalendarDay.cs
- EdmEntityTypeAttribute.cs
- ValueExpressions.cs
- IsolatedStorageFilePermission.cs
- XmlDataCollection.cs
- FunctionMappingTranslator.cs
- DiscoveryMessageSequence.cs
- FunctionNode.cs
- NativeCompoundFileAPIs.cs
- ByteStorage.cs
- GeneralTransformCollection.cs
- LocalizableResourceBuilder.cs
- IndicShape.cs
- RawAppCommandInputReport.cs
- SafeViewOfFileHandle.cs
- FixedElement.cs
- StateWorkerRequest.cs
- SurrogateSelector.cs
- IPGlobalProperties.cs
- DocumentOrderComparer.cs
- CorrelationTokenInvalidatedHandler.cs
- ProcessModule.cs
- ObjectStorage.cs
- ExtentKey.cs
- HttpHandlerAction.cs
- AddInController.cs
- DataGridViewTextBoxEditingControl.cs
- DataBindEngine.cs
- EndpointDiscoveryBehavior.cs
- NodeLabelEditEvent.cs
- mediaeventargs.cs
- DynamicRenderer.cs
- DiscreteKeyFrames.cs
- InstanceOwnerQueryResult.cs
- ObjectItemCachedAssemblyLoader.cs
- _BaseOverlappedAsyncResult.cs
- ValuePatternIdentifiers.cs
- DesignerCatalogPartChrome.cs
- MessageQueuePermissionAttribute.cs
- GridEntryCollection.cs
- ProgramNode.cs
- TreeView.cs
- PtsHost.cs
- TraceHandler.cs
- PointCollectionValueSerializer.cs
- ICollection.cs
- ServiceRoute.cs
- XsdBuildProvider.cs
- SectionInformation.cs
- HttpCacheParams.cs
- InternalConfigEventArgs.cs
- RemotingException.cs
- TableRowsCollectionEditor.cs
- FieldTemplateUserControl.cs
- Column.cs
- DbCommandTree.cs
- CookielessHelper.cs
- UriWriter.cs
- CriticalHandle.cs
- Message.cs
- BitmapEffectGroup.cs
- XmlSchemaRedefine.cs
- EditorPartCollection.cs
- VirtualDirectoryMappingCollection.cs