Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Server / System / Data / Services / Internal / ExpandedWrapper.cs / 1407647 / ExpandedWrapper.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Provides a base class implementing IExpandedResult over
// projections.
//
//
// @owner [....]
//---------------------------------------------------------------------
namespace System.Data.Services.Internal
{
using System;
/// Provides a base class implementing IExpandedResult over projections.
/// Type of element whose properties are expanded.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public abstract class ExpandedWrapper: IExpandedResult
{
#region Fields.
/// Text description of properties, in comma-separated format.
private string description;
/// Element whose properties are being expanded.
private TExpandedElement expandedElement;
/// Parsed property names.
private string[] propertyNames;
#endregion Fields.
#region Public properties.
/// Text description of properties, in comma-separated format.
public string Description
{
get
{
return this.description;
}
set
{
this.description = WebUtil.CheckArgumentNull(value, "value");
this.propertyNames = WebUtil.StringToSimpleArray(this.description);
int expectedLength = this.GetType().GetGenericArguments().Length - 1;
if (this.propertyNames.Length != expectedLength)
{
throw new InvalidOperationException(
Strings.BasicExpandProvider_DescriptionInitializerCountMismatch(value, expectedLength));
}
}
}
/// Element whose properties are being expanded.
public TExpandedElement ExpandedElement
{
get { return this.expandedElement; }
set { this.expandedElement = value; }
}
/// The element with expanded properties.
object IExpandedResult.ExpandedElement
{
get { return ProjectedWrapper.ProcessResultInstance(this.ExpandedElement); }
}
#endregion Public properties.
#region Methods.
/// Gets the value for named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
///
/// If the element returned in turn has properties which are expanded out-of-band
/// of the object model, then the result will also be of type ,
/// and the value will be available through .
/// A special case is the handling of $skiptoken property. In case the $skiptoken property does not
/// exist on the current wrapper object, instead of throw-ing we return null which will
/// be an indication to the caller that the property does not exist.
///
public object GetExpandedPropertyValue(string name)
{
if (name == null)
{
throw new ArgumentNullException("name");
}
if (this.propertyNames == null)
{
throw new InvalidOperationException(Strings.BasicExpandProvider_ExpandedPropertiesNotInitialized);
}
int nameIndex = -1;
for (int i = 0; i < this.propertyNames.Length; i++)
{
if (this.propertyNames[i] == name)
{
nameIndex = i;
break;
}
}
if (nameIndex == -1 && name == XmlConstants.HttpQueryStringSkipToken)
{
return null;
}
object resource = this.InternalGetExpandedPropertyValue(nameIndex);
resource = ProjectedWrapper.ProcessResultInstance(resource);
return ProjectedWrapper.ProcessResultEnumeration(resource);
}
/// Gets the value for the property for the result.
/// Index of property for which to get enumerable results.
/// The value for the property of the result.
protected abstract object InternalGetExpandedPropertyValue(int nameIndex);
#endregion Methods.
}
#region ExpandedWrapper types with numbered properties.
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
throw Error.NotSupported();
}
}
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005", Justification = "More than two parameter types used for wide projections.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets or sets a projected property.
public TProperty1 ProjectedProperty1 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
if (nameIndex == 1) return this.ProjectedProperty1;
throw Error.NotSupported();
}
}
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005", Justification = "More than two parameter types used for wide projections.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets or sets a projected property.
public TProperty1 ProjectedProperty1 { get; set; }
/// Gets or sets a projected property.
public TProperty2 ProjectedProperty2 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
if (nameIndex == 1) return this.ProjectedProperty1;
if (nameIndex == 2) return this.ProjectedProperty2;
throw Error.NotSupported();
}
}
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005", Justification = "More than two parameter types used for wide projections.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets or sets a projected property.
public TProperty1 ProjectedProperty1 { get; set; }
/// Gets or sets a projected property.
public TProperty2 ProjectedProperty2 { get; set; }
/// Gets or sets a projected property.
public TProperty3 ProjectedProperty3 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
if (nameIndex == 1) return this.ProjectedProperty1;
if (nameIndex == 2) return this.ProjectedProperty2;
if (nameIndex == 3) return this.ProjectedProperty3;
throw Error.NotSupported();
}
}
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005", Justification = "More than two parameter types used for wide projections.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets or sets a projected property.
public TProperty1 ProjectedProperty1 { get; set; }
/// Gets or sets a projected property.
public TProperty2 ProjectedProperty2 { get; set; }
/// Gets or sets a projected property.
public TProperty3 ProjectedProperty3 { get; set; }
/// Gets or sets a projected property.
public TProperty4 ProjectedProperty4 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
if (nameIndex == 1) return this.ProjectedProperty1;
if (nameIndex == 2) return this.ProjectedProperty2;
if (nameIndex == 3) return this.ProjectedProperty3;
if (nameIndex == 4) return this.ProjectedProperty4;
throw Error.NotSupported();
}
}
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005", Justification = "More than two parameter types used for wide projections.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets or sets a projected property.
public TProperty1 ProjectedProperty1 { get; set; }
/// Gets or sets a projected property.
public TProperty2 ProjectedProperty2 { get; set; }
/// Gets or sets a projected property.
public TProperty3 ProjectedProperty3 { get; set; }
/// Gets or sets a projected property.
public TProperty4 ProjectedProperty4 { get; set; }
/// Gets or sets a projected property.
public TProperty5 ProjectedProperty5 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
if (nameIndex == 1) return this.ProjectedProperty1;
if (nameIndex == 2) return this.ProjectedProperty2;
if (nameIndex == 3) return this.ProjectedProperty3;
if (nameIndex == 4) return this.ProjectedProperty4;
if (nameIndex == 5) return this.ProjectedProperty5;
throw Error.NotSupported();
}
}
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005", Justification = "More than two parameter types used for wide projections.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets or sets a projected property.
public TProperty1 ProjectedProperty1 { get; set; }
/// Gets or sets a projected property.
public TProperty2 ProjectedProperty2 { get; set; }
/// Gets or sets a projected property.
public TProperty3 ProjectedProperty3 { get; set; }
/// Gets or sets a projected property.
public TProperty4 ProjectedProperty4 { get; set; }
/// Gets or sets a projected property.
public TProperty5 ProjectedProperty5 { get; set; }
/// Gets or sets a projected property.
public TProperty6 ProjectedProperty6 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
if (nameIndex == 1) return this.ProjectedProperty1;
if (nameIndex == 2) return this.ProjectedProperty2;
if (nameIndex == 3) return this.ProjectedProperty3;
if (nameIndex == 4) return this.ProjectedProperty4;
if (nameIndex == 5) return this.ProjectedProperty5;
if (nameIndex == 6) return this.ProjectedProperty6;
throw Error.NotSupported();
}
}
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005", Justification = "More than two parameter types used for wide projections.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets or sets a projected property.
public TProperty1 ProjectedProperty1 { get; set; }
/// Gets or sets a projected property.
public TProperty2 ProjectedProperty2 { get; set; }
/// Gets or sets a projected property.
public TProperty3 ProjectedProperty3 { get; set; }
/// Gets or sets a projected property.
public TProperty4 ProjectedProperty4 { get; set; }
/// Gets or sets a projected property.
public TProperty5 ProjectedProperty5 { get; set; }
/// Gets or sets a projected property.
public TProperty6 ProjectedProperty6 { get; set; }
/// Gets or sets a projected property.
public TProperty7 ProjectedProperty7 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
if (nameIndex == 1) return this.ProjectedProperty1;
if (nameIndex == 2) return this.ProjectedProperty2;
if (nameIndex == 3) return this.ProjectedProperty3;
if (nameIndex == 4) return this.ProjectedProperty4;
if (nameIndex == 5) return this.ProjectedProperty5;
if (nameIndex == 6) return this.ProjectedProperty6;
if (nameIndex == 7) return this.ProjectedProperty7;
throw Error.NotSupported();
}
}
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005", Justification = "More than two parameter types used for wide projections.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets or sets a projected property.
public TProperty1 ProjectedProperty1 { get; set; }
/// Gets or sets a projected property.
public TProperty2 ProjectedProperty2 { get; set; }
/// Gets or sets a projected property.
public TProperty3 ProjectedProperty3 { get; set; }
/// Gets or sets a projected property.
public TProperty4 ProjectedProperty4 { get; set; }
/// Gets or sets a projected property.
public TProperty5 ProjectedProperty5 { get; set; }
/// Gets or sets a projected property.
public TProperty6 ProjectedProperty6 { get; set; }
/// Gets or sets a projected property.
public TProperty7 ProjectedProperty7 { get; set; }
/// Gets or sets a projected property.
public TProperty8 ProjectedProperty8 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
if (nameIndex == 1) return this.ProjectedProperty1;
if (nameIndex == 2) return this.ProjectedProperty2;
if (nameIndex == 3) return this.ProjectedProperty3;
if (nameIndex == 4) return this.ProjectedProperty4;
if (nameIndex == 5) return this.ProjectedProperty5;
if (nameIndex == 6) return this.ProjectedProperty6;
if (nameIndex == 7) return this.ProjectedProperty7;
if (nameIndex == 8) return this.ProjectedProperty8;
throw Error.NotSupported();
}
}
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005", Justification = "More than two parameter types used for wide projections.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets or sets a projected property.
public TProperty1 ProjectedProperty1 { get; set; }
/// Gets or sets a projected property.
public TProperty2 ProjectedProperty2 { get; set; }
/// Gets or sets a projected property.
public TProperty3 ProjectedProperty3 { get; set; }
/// Gets or sets a projected property.
public TProperty4 ProjectedProperty4 { get; set; }
/// Gets or sets a projected property.
public TProperty5 ProjectedProperty5 { get; set; }
/// Gets or sets a projected property.
public TProperty6 ProjectedProperty6 { get; set; }
/// Gets or sets a projected property.
public TProperty7 ProjectedProperty7 { get; set; }
/// Gets or sets a projected property.
public TProperty8 ProjectedProperty8 { get; set; }
/// Gets or sets a projected property.
public TProperty9 ProjectedProperty9 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
if (nameIndex == 1) return this.ProjectedProperty1;
if (nameIndex == 2) return this.ProjectedProperty2;
if (nameIndex == 3) return this.ProjectedProperty3;
if (nameIndex == 4) return this.ProjectedProperty4;
if (nameIndex == 5) return this.ProjectedProperty5;
if (nameIndex == 6) return this.ProjectedProperty6;
if (nameIndex == 7) return this.ProjectedProperty7;
if (nameIndex == 8) return this.ProjectedProperty8;
if (nameIndex == 9) return this.ProjectedProperty9;
throw Error.NotSupported();
}
}
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005", Justification = "More than two parameter types used for wide projections.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets or sets a projected property.
public TProperty1 ProjectedProperty1 { get; set; }
/// Gets or sets a projected property.
public TProperty2 ProjectedProperty2 { get; set; }
/// Gets or sets a projected property.
public TProperty3 ProjectedProperty3 { get; set; }
/// Gets or sets a projected property.
public TProperty4 ProjectedProperty4 { get; set; }
/// Gets or sets a projected property.
public TProperty5 ProjectedProperty5 { get; set; }
/// Gets or sets a projected property.
public TProperty6 ProjectedProperty6 { get; set; }
/// Gets or sets a projected property.
public TProperty7 ProjectedProperty7 { get; set; }
/// Gets or sets a projected property.
public TProperty8 ProjectedProperty8 { get; set; }
/// Gets or sets a projected property.
public TProperty9 ProjectedProperty9 { get; set; }
/// Gets or sets a projected property.
public TProperty10 ProjectedProperty10 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
if (nameIndex == 1) return this.ProjectedProperty1;
if (nameIndex == 2) return this.ProjectedProperty2;
if (nameIndex == 3) return this.ProjectedProperty3;
if (nameIndex == 4) return this.ProjectedProperty4;
if (nameIndex == 5) return this.ProjectedProperty5;
if (nameIndex == 6) return this.ProjectedProperty6;
if (nameIndex == 7) return this.ProjectedProperty7;
if (nameIndex == 8) return this.ProjectedProperty8;
if (nameIndex == 9) return this.ProjectedProperty9;
if (nameIndex == 10) return this.ProjectedProperty10;
throw Error.NotSupported();
}
}
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005", Justification = "More than two parameter types used for wide projections.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets or sets a projected property.
public TProperty1 ProjectedProperty1 { get; set; }
/// Gets or sets a projected property.
public TProperty2 ProjectedProperty2 { get; set; }
/// Gets or sets a projected property.
public TProperty3 ProjectedProperty3 { get; set; }
/// Gets or sets a projected property.
public TProperty4 ProjectedProperty4 { get; set; }
/// Gets or sets a projected property.
public TProperty5 ProjectedProperty5 { get; set; }
/// Gets or sets a projected property.
public TProperty6 ProjectedProperty6 { get; set; }
/// Gets or sets a projected property.
public TProperty7 ProjectedProperty7 { get; set; }
/// Gets or sets a projected property.
public TProperty8 ProjectedProperty8 { get; set; }
/// Gets or sets a projected property.
public TProperty9 ProjectedProperty9 { get; set; }
/// Gets or sets a projected property.
public TProperty10 ProjectedProperty10 { get; set; }
/// Gets or sets a projected property.
public TProperty11 ProjectedProperty11 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
if (nameIndex == 1) return this.ProjectedProperty1;
if (nameIndex == 2) return this.ProjectedProperty2;
if (nameIndex == 3) return this.ProjectedProperty3;
if (nameIndex == 4) return this.ProjectedProperty4;
if (nameIndex == 5) return this.ProjectedProperty5;
if (nameIndex == 6) return this.ProjectedProperty6;
if (nameIndex == 7) return this.ProjectedProperty7;
if (nameIndex == 8) return this.ProjectedProperty8;
if (nameIndex == 9) return this.ProjectedProperty9;
if (nameIndex == 10) return this.ProjectedProperty10;
if (nameIndex == 11) return this.ProjectedProperty11;
throw Error.NotSupported();
}
}
#endregion ExpandedWrapper types with numbered properties.
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Provides a base class implementing IExpandedResult over
// projections.
//
//
// @owner [....]
//---------------------------------------------------------------------
namespace System.Data.Services.Internal
{
using System;
/// Provides a base class implementing IExpandedResult over projections.
/// Type of element whose properties are expanded.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public abstract class ExpandedWrapper: IExpandedResult
{
#region Fields.
/// Text description of properties, in comma-separated format.
private string description;
/// Element whose properties are being expanded.
private TExpandedElement expandedElement;
/// Parsed property names.
private string[] propertyNames;
#endregion Fields.
#region Public properties.
/// Text description of properties, in comma-separated format.
public string Description
{
get
{
return this.description;
}
set
{
this.description = WebUtil.CheckArgumentNull(value, "value");
this.propertyNames = WebUtil.StringToSimpleArray(this.description);
int expectedLength = this.GetType().GetGenericArguments().Length - 1;
if (this.propertyNames.Length != expectedLength)
{
throw new InvalidOperationException(
Strings.BasicExpandProvider_DescriptionInitializerCountMismatch(value, expectedLength));
}
}
}
/// Element whose properties are being expanded.
public TExpandedElement ExpandedElement
{
get { return this.expandedElement; }
set { this.expandedElement = value; }
}
/// The element with expanded properties.
object IExpandedResult.ExpandedElement
{
get { return ProjectedWrapper.ProcessResultInstance(this.ExpandedElement); }
}
#endregion Public properties.
#region Methods.
/// Gets the value for named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
///
/// If the element returned in turn has properties which are expanded out-of-band
/// of the object model, then the result will also be of type ,
/// and the value will be available through .
/// A special case is the handling of $skiptoken property. In case the $skiptoken property does not
/// exist on the current wrapper object, instead of throw-ing we return null which will
/// be an indication to the caller that the property does not exist.
///
public object GetExpandedPropertyValue(string name)
{
if (name == null)
{
throw new ArgumentNullException("name");
}
if (this.propertyNames == null)
{
throw new InvalidOperationException(Strings.BasicExpandProvider_ExpandedPropertiesNotInitialized);
}
int nameIndex = -1;
for (int i = 0; i < this.propertyNames.Length; i++)
{
if (this.propertyNames[i] == name)
{
nameIndex = i;
break;
}
}
if (nameIndex == -1 && name == XmlConstants.HttpQueryStringSkipToken)
{
return null;
}
object resource = this.InternalGetExpandedPropertyValue(nameIndex);
resource = ProjectedWrapper.ProcessResultInstance(resource);
return ProjectedWrapper.ProcessResultEnumeration(resource);
}
/// Gets the value for the property for the result.
/// Index of property for which to get enumerable results.
/// The value for the property of the result.
protected abstract object InternalGetExpandedPropertyValue(int nameIndex);
#endregion Methods.
}
#region ExpandedWrapper types with numbered properties.
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
throw Error.NotSupported();
}
}
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005", Justification = "More than two parameter types used for wide projections.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets or sets a projected property.
public TProperty1 ProjectedProperty1 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
if (nameIndex == 1) return this.ProjectedProperty1;
throw Error.NotSupported();
}
}
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005", Justification = "More than two parameter types used for wide projections.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets or sets a projected property.
public TProperty1 ProjectedProperty1 { get; set; }
/// Gets or sets a projected property.
public TProperty2 ProjectedProperty2 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
if (nameIndex == 1) return this.ProjectedProperty1;
if (nameIndex == 2) return this.ProjectedProperty2;
throw Error.NotSupported();
}
}
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005", Justification = "More than two parameter types used for wide projections.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets or sets a projected property.
public TProperty1 ProjectedProperty1 { get; set; }
/// Gets or sets a projected property.
public TProperty2 ProjectedProperty2 { get; set; }
/// Gets or sets a projected property.
public TProperty3 ProjectedProperty3 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
if (nameIndex == 1) return this.ProjectedProperty1;
if (nameIndex == 2) return this.ProjectedProperty2;
if (nameIndex == 3) return this.ProjectedProperty3;
throw Error.NotSupported();
}
}
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005", Justification = "More than two parameter types used for wide projections.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets or sets a projected property.
public TProperty1 ProjectedProperty1 { get; set; }
/// Gets or sets a projected property.
public TProperty2 ProjectedProperty2 { get; set; }
/// Gets or sets a projected property.
public TProperty3 ProjectedProperty3 { get; set; }
/// Gets or sets a projected property.
public TProperty4 ProjectedProperty4 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
if (nameIndex == 1) return this.ProjectedProperty1;
if (nameIndex == 2) return this.ProjectedProperty2;
if (nameIndex == 3) return this.ProjectedProperty3;
if (nameIndex == 4) return this.ProjectedProperty4;
throw Error.NotSupported();
}
}
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005", Justification = "More than two parameter types used for wide projections.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets or sets a projected property.
public TProperty1 ProjectedProperty1 { get; set; }
/// Gets or sets a projected property.
public TProperty2 ProjectedProperty2 { get; set; }
/// Gets or sets a projected property.
public TProperty3 ProjectedProperty3 { get; set; }
/// Gets or sets a projected property.
public TProperty4 ProjectedProperty4 { get; set; }
/// Gets or sets a projected property.
public TProperty5 ProjectedProperty5 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
if (nameIndex == 1) return this.ProjectedProperty1;
if (nameIndex == 2) return this.ProjectedProperty2;
if (nameIndex == 3) return this.ProjectedProperty3;
if (nameIndex == 4) return this.ProjectedProperty4;
if (nameIndex == 5) return this.ProjectedProperty5;
throw Error.NotSupported();
}
}
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005", Justification = "More than two parameter types used for wide projections.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets or sets a projected property.
public TProperty1 ProjectedProperty1 { get; set; }
/// Gets or sets a projected property.
public TProperty2 ProjectedProperty2 { get; set; }
/// Gets or sets a projected property.
public TProperty3 ProjectedProperty3 { get; set; }
/// Gets or sets a projected property.
public TProperty4 ProjectedProperty4 { get; set; }
/// Gets or sets a projected property.
public TProperty5 ProjectedProperty5 { get; set; }
/// Gets or sets a projected property.
public TProperty6 ProjectedProperty6 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
if (nameIndex == 1) return this.ProjectedProperty1;
if (nameIndex == 2) return this.ProjectedProperty2;
if (nameIndex == 3) return this.ProjectedProperty3;
if (nameIndex == 4) return this.ProjectedProperty4;
if (nameIndex == 5) return this.ProjectedProperty5;
if (nameIndex == 6) return this.ProjectedProperty6;
throw Error.NotSupported();
}
}
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005", Justification = "More than two parameter types used for wide projections.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets or sets a projected property.
public TProperty1 ProjectedProperty1 { get; set; }
/// Gets or sets a projected property.
public TProperty2 ProjectedProperty2 { get; set; }
/// Gets or sets a projected property.
public TProperty3 ProjectedProperty3 { get; set; }
/// Gets or sets a projected property.
public TProperty4 ProjectedProperty4 { get; set; }
/// Gets or sets a projected property.
public TProperty5 ProjectedProperty5 { get; set; }
/// Gets or sets a projected property.
public TProperty6 ProjectedProperty6 { get; set; }
/// Gets or sets a projected property.
public TProperty7 ProjectedProperty7 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
if (nameIndex == 1) return this.ProjectedProperty1;
if (nameIndex == 2) return this.ProjectedProperty2;
if (nameIndex == 3) return this.ProjectedProperty3;
if (nameIndex == 4) return this.ProjectedProperty4;
if (nameIndex == 5) return this.ProjectedProperty5;
if (nameIndex == 6) return this.ProjectedProperty6;
if (nameIndex == 7) return this.ProjectedProperty7;
throw Error.NotSupported();
}
}
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005", Justification = "More than two parameter types used for wide projections.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets or sets a projected property.
public TProperty1 ProjectedProperty1 { get; set; }
/// Gets or sets a projected property.
public TProperty2 ProjectedProperty2 { get; set; }
/// Gets or sets a projected property.
public TProperty3 ProjectedProperty3 { get; set; }
/// Gets or sets a projected property.
public TProperty4 ProjectedProperty4 { get; set; }
/// Gets or sets a projected property.
public TProperty5 ProjectedProperty5 { get; set; }
/// Gets or sets a projected property.
public TProperty6 ProjectedProperty6 { get; set; }
/// Gets or sets a projected property.
public TProperty7 ProjectedProperty7 { get; set; }
/// Gets or sets a projected property.
public TProperty8 ProjectedProperty8 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
if (nameIndex == 1) return this.ProjectedProperty1;
if (nameIndex == 2) return this.ProjectedProperty2;
if (nameIndex == 3) return this.ProjectedProperty3;
if (nameIndex == 4) return this.ProjectedProperty4;
if (nameIndex == 5) return this.ProjectedProperty5;
if (nameIndex == 6) return this.ProjectedProperty6;
if (nameIndex == 7) return this.ProjectedProperty7;
if (nameIndex == 8) return this.ProjectedProperty8;
throw Error.NotSupported();
}
}
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005", Justification = "More than two parameter types used for wide projections.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets or sets a projected property.
public TProperty1 ProjectedProperty1 { get; set; }
/// Gets or sets a projected property.
public TProperty2 ProjectedProperty2 { get; set; }
/// Gets or sets a projected property.
public TProperty3 ProjectedProperty3 { get; set; }
/// Gets or sets a projected property.
public TProperty4 ProjectedProperty4 { get; set; }
/// Gets or sets a projected property.
public TProperty5 ProjectedProperty5 { get; set; }
/// Gets or sets a projected property.
public TProperty6 ProjectedProperty6 { get; set; }
/// Gets or sets a projected property.
public TProperty7 ProjectedProperty7 { get; set; }
/// Gets or sets a projected property.
public TProperty8 ProjectedProperty8 { get; set; }
/// Gets or sets a projected property.
public TProperty9 ProjectedProperty9 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
if (nameIndex == 1) return this.ProjectedProperty1;
if (nameIndex == 2) return this.ProjectedProperty2;
if (nameIndex == 3) return this.ProjectedProperty3;
if (nameIndex == 4) return this.ProjectedProperty4;
if (nameIndex == 5) return this.ProjectedProperty5;
if (nameIndex == 6) return this.ProjectedProperty6;
if (nameIndex == 7) return this.ProjectedProperty7;
if (nameIndex == 8) return this.ProjectedProperty8;
if (nameIndex == 9) return this.ProjectedProperty9;
throw Error.NotSupported();
}
}
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005", Justification = "More than two parameter types used for wide projections.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets or sets a projected property.
public TProperty1 ProjectedProperty1 { get; set; }
/// Gets or sets a projected property.
public TProperty2 ProjectedProperty2 { get; set; }
/// Gets or sets a projected property.
public TProperty3 ProjectedProperty3 { get; set; }
/// Gets or sets a projected property.
public TProperty4 ProjectedProperty4 { get; set; }
/// Gets or sets a projected property.
public TProperty5 ProjectedProperty5 { get; set; }
/// Gets or sets a projected property.
public TProperty6 ProjectedProperty6 { get; set; }
/// Gets or sets a projected property.
public TProperty7 ProjectedProperty7 { get; set; }
/// Gets or sets a projected property.
public TProperty8 ProjectedProperty8 { get; set; }
/// Gets or sets a projected property.
public TProperty9 ProjectedProperty9 { get; set; }
/// Gets or sets a projected property.
public TProperty10 ProjectedProperty10 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
if (nameIndex == 1) return this.ProjectedProperty1;
if (nameIndex == 2) return this.ProjectedProperty2;
if (nameIndex == 3) return this.ProjectedProperty3;
if (nameIndex == 4) return this.ProjectedProperty4;
if (nameIndex == 5) return this.ProjectedProperty5;
if (nameIndex == 6) return this.ProjectedProperty6;
if (nameIndex == 7) return this.ProjectedProperty7;
if (nameIndex == 8) return this.ProjectedProperty8;
if (nameIndex == 9) return this.ProjectedProperty9;
if (nameIndex == 10) return this.ProjectedProperty10;
throw Error.NotSupported();
}
}
/// Provides a wrapper over an element expanded with projections.
/// Type of expanded element.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// Type of projected property.
/// This class supports the WCF Data Services infrastructure and is not meant to be used directly from your code.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.MSInternal", "CA903", Justification = "Type is already under System namespace.")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005", Justification = "More than two parameter types used for wide projections.")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class ExpandedWrapper : ExpandedWrapper
{
/// Gets or sets a projected property.
public TProperty0 ProjectedProperty0 { get; set; }
/// Gets or sets a projected property.
public TProperty1 ProjectedProperty1 { get; set; }
/// Gets or sets a projected property.
public TProperty2 ProjectedProperty2 { get; set; }
/// Gets or sets a projected property.
public TProperty3 ProjectedProperty3 { get; set; }
/// Gets or sets a projected property.
public TProperty4 ProjectedProperty4 { get; set; }
/// Gets or sets a projected property.
public TProperty5 ProjectedProperty5 { get; set; }
/// Gets or sets a projected property.
public TProperty6 ProjectedProperty6 { get; set; }
/// Gets or sets a projected property.
public TProperty7 ProjectedProperty7 { get; set; }
/// Gets or sets a projected property.
public TProperty8 ProjectedProperty8 { get; set; }
/// Gets or sets a projected property.
public TProperty9 ProjectedProperty9 { get; set; }
/// Gets or sets a projected property.
public TProperty10 ProjectedProperty10 { get; set; }
/// Gets or sets a projected property.
public TProperty11 ProjectedProperty11 { get; set; }
/// Gets the value for the named property for the result.
/// Name of property for which to get enumerable results.
/// The value for the named property of the result.
protected override object InternalGetExpandedPropertyValue(int nameIndex)
{
if (nameIndex == 0) return this.ProjectedProperty0;
if (nameIndex == 1) return this.ProjectedProperty1;
if (nameIndex == 2) return this.ProjectedProperty2;
if (nameIndex == 3) return this.ProjectedProperty3;
if (nameIndex == 4) return this.ProjectedProperty4;
if (nameIndex == 5) return this.ProjectedProperty5;
if (nameIndex == 6) return this.ProjectedProperty6;
if (nameIndex == 7) return this.ProjectedProperty7;
if (nameIndex == 8) return this.ProjectedProperty8;
if (nameIndex == 9) return this.ProjectedProperty9;
if (nameIndex == 10) return this.ProjectedProperty10;
if (nameIndex == 11) return this.ProjectedProperty11;
throw Error.NotSupported();
}
}
#endregion ExpandedWrapper types with numbered 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
- SystemException.cs
- ObjectCloneHelper.cs
- InternalConfigRoot.cs
- BamlRecordWriter.cs
- HtmlUtf8RawTextWriter.cs
- CodeLinePragma.cs
- UICuesEvent.cs
- Attribute.cs
- ObjectDataSourceStatusEventArgs.cs
- MessageEncodingBindingElementImporter.cs
- DoubleCollection.cs
- BrowserTree.cs
- Quad.cs
- Brush.cs
- DesignOnlyAttribute.cs
- PointAnimation.cs
- WebBaseEventKeyComparer.cs
- SerialStream.cs
- DocumentSequenceHighlightLayer.cs
- Guid.cs
- MarginCollapsingState.cs
- HtmlInputPassword.cs
- ToolTipService.cs
- NativeCppClassAttribute.cs
- localization.cs
- Enumerable.cs
- ScriptControlDescriptor.cs
- SQLSingleStorage.cs
- Directory.cs
- Module.cs
- ServiceObjectContainer.cs
- RepeaterItem.cs
- ListItemCollection.cs
- IndexOutOfRangeException.cs
- ComponentEditorForm.cs
- QueryStack.cs
- XmlSchemaObjectTable.cs
- ThumbAutomationPeer.cs
- NameObjectCollectionBase.cs
- DataViewListener.cs
- MethodBuilderInstantiation.cs
- ResourceReferenceKeyNotFoundException.cs
- dataprotectionpermission.cs
- ListBox.cs
- RequestTimeoutManager.cs
- SerialStream.cs
- ConfigurationSection.cs
- DBConnection.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- SQLDoubleStorage.cs
- AutoResetEvent.cs
- DependencyPropertyValueSerializer.cs
- odbcmetadatacollectionnames.cs
- TextAdaptor.cs
- OdbcConnection.cs
- future.cs
- PolicyReader.cs
- Operator.cs
- LazyTextWriterCreator.cs
- QuadraticBezierSegment.cs
- Automation.cs
- CodeAccessPermission.cs
- PrintController.cs
- LinkLabel.cs
- NTAccount.cs
- RadioButtonFlatAdapter.cs
- SetStoryboardSpeedRatio.cs
- SchemaCollectionCompiler.cs
- CorrelationManager.cs
- TypeContext.cs
- EntityCollection.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- X509SecurityTokenProvider.cs
- WebPartConnectVerb.cs
- EntryWrittenEventArgs.cs
- MembershipValidatePasswordEventArgs.cs
- PeerNameRegistration.cs
- PropertyPathWorker.cs
- ByteConverter.cs
- VisualTreeUtils.cs
- TextRangeEditTables.cs
- ApplicationTrust.cs
- ConnectionManagementElementCollection.cs
- Filter.cs
- BCLDebug.cs
- SeparatorAutomationPeer.cs
- TabItemWrapperAutomationPeer.cs
- CanonicalizationDriver.cs
- SyntaxCheck.cs
- XamlSerializer.cs
- CryptoApi.cs
- nulltextnavigator.cs
- XmlChildNodes.cs
- WorkflowViewService.cs
- XmlKeywords.cs
- CollectionViewProxy.cs
- InvokeSchedule.cs
- EntityContainerEmitter.cs
- ItemDragEvent.cs
- SqlConnectionPoolGroupProviderInfo.cs