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
- AttachInfo.cs
- CodeDelegateInvokeExpression.cs
- ColorAnimationBase.cs
- TypeLoadException.cs
- BindingElementCollection.cs
- Site.cs
- OdbcConnectionOpen.cs
- NamedPipeAppDomainProtocolHandler.cs
- LinkClickEvent.cs
- CursorConverter.cs
- ObjectStateEntry.cs
- HttpWriter.cs
- EventLogEntryCollection.cs
- VirtualPath.cs
- PageWrapper.cs
- COM2PropertyBuilderUITypeEditor.cs
- PolicyVersion.cs
- KeyTimeConverter.cs
- Debug.cs
- SharedUtils.cs
- HostExecutionContextManager.cs
- DbConnectionPoolGroupProviderInfo.cs
- WindowsAltTab.cs
- TableParagraph.cs
- TaiwanCalendar.cs
- XmlCustomFormatter.cs
- MenuItemStyle.cs
- UseLicense.cs
- MultiDataTrigger.cs
- StreamHelper.cs
- CodeAttributeDeclarationCollection.cs
- TextTreeInsertUndoUnit.cs
- BaseValidator.cs
- UIHelper.cs
- EdmValidator.cs
- ComEventsHelper.cs
- InnerItemCollectionView.cs
- KeyConverter.cs
- WebColorConverter.cs
- BaseTemplateBuildProvider.cs
- StylusTouchDevice.cs
- Tracer.cs
- NamespaceList.cs
- TaiwanLunisolarCalendar.cs
- TdsParserStaticMethods.cs
- Encoding.cs
- ForeignKeyConstraint.cs
- TextEditorThreadLocalStore.cs
- Parser.cs
- Grid.cs
- Columns.cs
- ScriptModule.cs
- RelationshipManager.cs
- AutomationIdentifier.cs
- HtmlForm.cs
- XmlParserContext.cs
- TypeForwardedFromAttribute.cs
- VisemeEventArgs.cs
- ImpersonationContext.cs
- Transform.cs
- TableCell.cs
- FormsAuthenticationConfiguration.cs
- BoundsDrawingContextWalker.cs
- TypographyProperties.cs
- ComponentDispatcherThread.cs
- SqlDataReader.cs
- ConstraintCollection.cs
- CroppedBitmap.cs
- DataSourceCacheDurationConverter.cs
- ECDsaCng.cs
- HMACSHA256.cs
- ScrollItemPatternIdentifiers.cs
- Transform.cs
- SymbolDocumentGenerator.cs
- ScrollableControl.cs
- ProxyBuilder.cs
- Expression.cs
- StrokeSerializer.cs
- CodeConstructor.cs
- LassoSelectionBehavior.cs
- Win32PrintDialog.cs
- UnsafeNativeMethods.cs
- PropertyEmitterBase.cs
- FixedSOMTableRow.cs
- CodeTypeParameter.cs
- ComboBox.cs
- LogWriteRestartAreaAsyncResult.cs
- UInt16Converter.cs
- XmlSequenceWriter.cs
- MemberDescriptor.cs
- TemplateControl.cs
- RuntimeConfigLKG.cs
- BasicKeyConstraint.cs
- _TimerThread.cs
- CodeGenerator.cs
- Accessible.cs
- CommandTreeTypeHelper.cs
- BitHelper.cs
- MimeObjectFactory.cs
- WebBrowserNavigatedEventHandler.cs