Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Server / System / Data / Services / ETagAttribute.cs / 1305376 / ETagAttribute.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// CLR attribute to be annotated on types which indicate the list of properties
// form the ETag.
//
//
// @owner [....]
//---------------------------------------------------------------------
namespace System.Data.Services
{
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
/// Attribute to be annotated on types with ETags.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1019:DefineAccessorsForAttributeArguments", Justification = "Processed value is available")]
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)]
public sealed class ETagAttribute : System.Attribute
{
/// Name of the properties that form the ETag.
private readonly ReadOnlyCollection propertyNames;
// This constructor was added since string[] is not a CLS-compliant type and
// compiler gives a warning as error saying this attribute doesn't have any
// constructor that takes CLS-compliant type
///
/// Initializes a new instance of ETag attribute with the property name
/// that forms the ETag.
///
/// Name of the property that form the ETag for the current type.
public ETagAttribute(string propertyName)
{
WebUtil.CheckArgumentNull(propertyName, "propertyName");
this.propertyNames = new ReadOnlyCollection(new List(new string[1] { propertyName }));
}
///
/// Initializes a new instance of ETag attribute with the list of property names
/// that form the ETag.
///
/// Name of the properties that form the ETag for the current type.
public ETagAttribute(params string[] propertyNames)
{
WebUtil.CheckArgumentNull(propertyNames, "propertyNames");
if (propertyNames.Length == 0)
{
throw new ArgumentException(Strings.ETagAttribute_MustSpecifyAtleastOnePropertyName, "propertyNames");
}
this.propertyNames = new ReadOnlyCollection(new List(propertyNames));
}
/// Name of the properties that form the ETag for the current type.
public ReadOnlyCollection PropertyNames
{
get
{
return this.propertyNames;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// CLR attribute to be annotated on types which indicate the list of properties
// form the ETag.
//
//
// @owner [....]
//---------------------------------------------------------------------
namespace System.Data.Services
{
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
/// Attribute to be annotated on types with ETags.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1019:DefineAccessorsForAttributeArguments", Justification = "Processed value is available")]
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)]
public sealed class ETagAttribute : System.Attribute
{
/// Name of the properties that form the ETag.
private readonly ReadOnlyCollection propertyNames;
// This constructor was added since string[] is not a CLS-compliant type and
// compiler gives a warning as error saying this attribute doesn't have any
// constructor that takes CLS-compliant type
///
/// Initializes a new instance of ETag attribute with the property name
/// that forms the ETag.
///
/// Name of the property that form the ETag for the current type.
public ETagAttribute(string propertyName)
{
WebUtil.CheckArgumentNull(propertyName, "propertyName");
this.propertyNames = new ReadOnlyCollection(new List(new string[1] { propertyName }));
}
///
/// Initializes a new instance of ETag attribute with the list of property names
/// that form the ETag.
///
/// Name of the properties that form the ETag for the current type.
public ETagAttribute(params string[] propertyNames)
{
WebUtil.CheckArgumentNull(propertyNames, "propertyNames");
if (propertyNames.Length == 0)
{
throw new ArgumentException(Strings.ETagAttribute_MustSpecifyAtleastOnePropertyName, "propertyNames");
}
this.propertyNames = new ReadOnlyCollection(new List(propertyNames));
}
/// Name of the properties that form the ETag for the current type.
public ReadOnlyCollection PropertyNames
{
get
{
return this.propertyNames;
}
}
}
}
// 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
- Listen.cs
- Identifier.cs
- HandoffBehavior.cs
- EmptyControlCollection.cs
- RequestCache.cs
- CompilationPass2TaskInternal.cs
- BindingExpression.cs
- BaseCollection.cs
- BulletedList.cs
- DodSequenceMerge.cs
- WindowClosedEventArgs.cs
- counter.cs
- InvalidCastException.cs
- TemplateEditingFrame.cs
- RegexWorker.cs
- TdsParserStateObject.cs
- EvidenceBase.cs
- Parameter.cs
- InstallerTypeAttribute.cs
- SafeReadContext.cs
- Matrix3DValueSerializer.cs
- TextEditorCopyPaste.cs
- SequenceFullException.cs
- ECDsaCng.cs
- ProxyElement.cs
- TypePresenter.xaml.cs
- AggregatePushdown.cs
- Unit.cs
- DataGridViewRowHeaderCell.cs
- HtmlTableCell.cs
- TreePrinter.cs
- Splitter.cs
- XmlUrlEditor.cs
- PixelFormats.cs
- WorkflowValidationFailedException.cs
- BuilderElements.cs
- URLString.cs
- AssemblyCache.cs
- FormatterServices.cs
- HttpListenerTimeoutManager.cs
- NetworkStream.cs
- ObjectStateFormatter.cs
- SpeechSeg.cs
- WebBrowserSiteBase.cs
- CancelEventArgs.cs
- HttpFileCollection.cs
- TimeZoneInfo.cs
- HotSpotCollection.cs
- MetadataException.cs
- TCEAdapterGenerator.cs
- NegotiateStream.cs
- LinqDataSourceInsertEventArgs.cs
- AdjustableArrowCap.cs
- BitmapFrameEncode.cs
- FontNamesConverter.cs
- DataGridViewCellParsingEventArgs.cs
- FormView.cs
- CompilerErrorCollection.cs
- HashCryptoHandle.cs
- DurableErrorHandler.cs
- CodeAccessSecurityEngine.cs
- VerticalAlignConverter.cs
- FloaterBaseParaClient.cs
- TextSyndicationContent.cs
- CaseStatementSlot.cs
- SQLMembershipProvider.cs
- WebColorConverter.cs
- DataRow.cs
- ArrayExtension.cs
- ProcessHostServerConfig.cs
- Token.cs
- ToolStripContentPanel.cs
- NonVisualControlAttribute.cs
- DrawingAttributeSerializer.cs
- ListBoxChrome.cs
- GridView.cs
- HttpListenerContext.cs
- DataRow.cs
- unsafenativemethodsother.cs
- BindingMAnagerBase.cs
- HelpEvent.cs
- InputLanguageEventArgs.cs
- RectAnimationBase.cs
- FrameworkTemplate.cs
- MouseCaptureWithinProperty.cs
- RegexWorker.cs
- Point3DConverter.cs
- ToolStripOverflow.cs
- XmlSchemaAttribute.cs
- TypeContext.cs
- ViewCellSlot.cs
- MetadataArtifactLoaderCompositeFile.cs
- WindowsFormsDesignerOptionService.cs
- XPathPatternParser.cs
- CircleEase.cs
- DocumentSequence.cs
- ResourceReferenceExpressionConverter.cs
- ItemMap.cs
- DataGridViewColumn.cs
- TextServicesDisplayAttribute.cs