Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / Serialization / System / Runtime / Serialization / GenericParameterDataContract.cs / 1305376 / GenericParameterDataContract.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Runtime.Serialization { using System; using System.Collections.Generic; using System.Security; sealed class GenericParameterDataContract : DataContract { [Fx.Tag.SecurityNote(Critical = "Holds instance of CriticalHelper which keeps state that is cached statically for serialization." + " Static fields are marked SecurityCritical or readonly to prevent data from being modified or leaked to other components in appdomain.")] [SecurityCritical] GenericParameterDataContractCriticalHelper helper; [Fx.Tag.SecurityNote(Critical = "Initializes SecurityCritical field 'helper'.", Safe = "Doesn't leak anything.")] [SecuritySafeCritical] internal GenericParameterDataContract(Type type) : base(new GenericParameterDataContractCriticalHelper(type)) { helper = base.Helper as GenericParameterDataContractCriticalHelper; } internal int ParameterPosition { [Fx.Tag.SecurityNote(Critical = "Fetches the critical ParameterPosition property.", Safe = "ParameterPosition only needs to be protected for write.")] [SecuritySafeCritical] get { return helper.ParameterPosition; } } internal override bool IsBuiltInDataContract { get { return true; } } [Fx.Tag.SecurityNote(Critical = "Holds state used for deaing with generic parameters." + " Since the data is cached statically, we lock down access to it.")] [SecurityCritical(SecurityCriticalScope.Everything)] class GenericParameterDataContractCriticalHelper : DataContract.DataContractCriticalHelper { int parameterPosition; internal GenericParameterDataContractCriticalHelper(Type type) : base(type) { SetDataContractName(DataContract.GetStableName(type)); this.parameterPosition = type.GenericParameterPosition; } internal int ParameterPosition { get { return parameterPosition; } } } internal override DataContract BindGenericParameters(DataContract[] paramContracts, DictionaryboundContracts) { return paramContracts[ParameterPosition]; } } } // 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
- CompressStream.cs
- UnsafeNativeMethods.cs
- KnownAssembliesSet.cs
- CollectionEditor.cs
- WebBrowserNavigatedEventHandler.cs
- Triangle.cs
- SdlChannelSink.cs
- CqlLexerHelpers.cs
- METAHEADER.cs
- Scalars.cs
- EntityProviderFactory.cs
- ByeMessageCD1.cs
- X509Utils.cs
- AsyncOperation.cs
- FacetEnabledSchemaElement.cs
- InheritanceRules.cs
- CodePageUtils.cs
- _AcceptOverlappedAsyncResult.cs
- ServiceModelSectionGroup.cs
- CmsInterop.cs
- XmlAttributeOverrides.cs
- CompilationPass2Task.cs
- ConfigurationCollectionAttribute.cs
- TextOptions.cs
- InvalidateEvent.cs
- WhiteSpaceTrimStringConverter.cs
- RecordBuilder.cs
- shaper.cs
- ArgumentNullException.cs
- EntityDataSourceMemberPath.cs
- TreeView.cs
- InvalidDataException.cs
- SchemaInfo.cs
- SqlStatistics.cs
- X509Extension.cs
- WSHttpBindingBaseElement.cs
- ButtonChrome.cs
- MessageHeaderDescriptionCollection.cs
- TableHeaderCell.cs
- GridViewRowPresenterBase.cs
- ArgumentNullException.cs
- LogicalExpr.cs
- DropAnimation.xaml.cs
- DataServiceRequestOfT.cs
- StringUtil.cs
- AspNetHostingPermission.cs
- AppDomainProtocolHandler.cs
- SecurityProtocolCorrelationState.cs
- SelectionBorderGlyph.cs
- CheckBoxStandardAdapter.cs
- ComPlusDiagnosticTraceSchemas.cs
- LoginView.cs
- DataGridViewColumnDesigner.cs
- OleDbReferenceCollection.cs
- ClientWindowsAuthenticationMembershipProvider.cs
- SchemaSetCompiler.cs
- OdbcTransaction.cs
- ShapingWorkspace.cs
- EntitySetDataBindingList.cs
- Sql8ExpressionRewriter.cs
- HtmlInputHidden.cs
- CounterSample.cs
- PasswordTextNavigator.cs
- Processor.cs
- ModuleBuilder.cs
- ParseChildrenAsPropertiesAttribute.cs
- PolyQuadraticBezierSegment.cs
- LocalFileSettingsProvider.cs
- RangeValuePattern.cs
- SchemaImporter.cs
- Vector3DKeyFrameCollection.cs
- ToolStripTextBox.cs
- TreeNodeBinding.cs
- DataConnectionHelper.cs
- bidPrivateBase.cs
- ListViewEditEventArgs.cs
- Rights.cs
- Win32.cs
- NativeObjectSecurity.cs
- DrawingVisual.cs
- WindowsComboBox.cs
- DataTableCollection.cs
- UIntPtr.cs
- URIFormatException.cs
- PersonalizableTypeEntry.cs
- AppLevelCompilationSectionCache.cs
- CodeTypeMemberCollection.cs
- SafeNativeMethods.cs
- CodeTypeMember.cs
- ACL.cs
- PermissionSetTriple.cs
- PropertyPathWorker.cs
- UxThemeWrapper.cs
- DrawingContextDrawingContextWalker.cs
- VisualStateGroup.cs
- CompiledRegexRunner.cs
- EmbeddedMailObjectsCollection.cs
- _ListenerAsyncResult.cs
- OleDbConnectionInternal.cs
- RenderData.cs