Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ // 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, Dictionary boundContracts) { 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
- QueryTreeBuilder.cs
- DefaultObjectMappingItemCollection.cs
- DataGridItem.cs
- DiagnosticsElement.cs
- QilPatternVisitor.cs
- TemplateFactory.cs
- Documentation.cs
- ConfigXmlReader.cs
- EncodingNLS.cs
- ADMembershipUser.cs
- TitleStyle.cs
- codemethodreferenceexpression.cs
- ToolStripGripRenderEventArgs.cs
- XslCompiledTransform.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- XmlAnyElementAttribute.cs
- ResXResourceSet.cs
- StateDesigner.cs
- XmlSchemaAppInfo.cs
- ArglessEventHandlerProxy.cs
- ProxyWebPart.cs
- SecurityHelper.cs
- FileDialogCustomPlacesCollection.cs
- EventRecordWrittenEventArgs.cs
- TransactionTraceIdentifier.cs
- XPathQilFactory.cs
- xml.cs
- DesignerRegionMouseEventArgs.cs
- WindowsHyperlink.cs
- CapabilitiesUse.cs
- DbDataReader.cs
- AuthorizationSection.cs
- LinqDataSourceInsertEventArgs.cs
- BasicExpressionVisitor.cs
- MouseEvent.cs
- WindowsBrush.cs
- SmiContextFactory.cs
- PixelFormatConverter.cs
- TransformProviderWrapper.cs
- Expression.DebuggerProxy.cs
- TimeSpan.cs
- XmlComment.cs
- HitTestResult.cs
- ToolTipService.cs
- BamlRecordWriter.cs
- ButtonBase.cs
- XmlSchemaInclude.cs
- EventWaitHandle.cs
- Site.cs
- ClockGroup.cs
- RewritingValidator.cs
- SizeAnimationBase.cs
- MarginsConverter.cs
- WorkflowPageSetupDialog.cs
- MetadataException.cs
- ScriptIgnoreAttribute.cs
- DataFormats.cs
- TraceLog.cs
- BmpBitmapDecoder.cs
- FocusWithinProperty.cs
- AuthenticationService.cs
- propertyentry.cs
- XmlElementElement.cs
- HoistedLocals.cs
- TextEffectResolver.cs
- Logging.cs
- WindowInteropHelper.cs
- SynchronizationLockException.cs
- PerspectiveCamera.cs
- LineVisual.cs
- CodeNamespaceCollection.cs
- DataGridViewLinkColumn.cs
- TokenBasedSetEnumerator.cs
- Point3DCollection.cs
- DependencyObjectType.cs
- MarkupExtensionReturnTypeAttribute.cs
- Object.cs
- NotFiniteNumberException.cs
- RectangleConverter.cs
- StringResourceManager.cs
- _AutoWebProxyScriptWrapper.cs
- HostedHttpRequestAsyncResult.cs
- NotifyInputEventArgs.cs
- DataControlField.cs
- TrackingMemoryStream.cs
- SystemUdpStatistics.cs
- Repeater.cs
- CaseStatement.cs
- CompareValidator.cs
- ProxyWebPartConnectionCollection.cs
- ThemeableAttribute.cs
- MenuScrollingVisibilityConverter.cs
- ButtonBaseAutomationPeer.cs
- ControlBindingsCollection.cs
- EntryPointNotFoundException.cs
- Ray3DHitTestResult.cs
- ForeignKeyConstraint.cs
- ObjectNavigationPropertyMapping.cs
- View.cs
- TdsParameterSetter.cs