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
- RtfControls.cs
- ObfuscationAttribute.cs
- ResumeStoryboard.cs
- TextCharacters.cs
- ACE.cs
- PropertyBuilder.cs
- ResourceProviderFactory.cs
- ServiceOperationUIEditor.cs
- MissingMethodException.cs
- SolidColorBrush.cs
- InfoCardMasterKey.cs
- DrawingAttributesDefaultValueFactory.cs
- PaintEvent.cs
- ArrayTypeMismatchException.cs
- SmtpNetworkElement.cs
- TokenizerHelper.cs
- ResetableIterator.cs
- UnknownBitmapEncoder.cs
- UnsafeNativeMethods.cs
- latinshape.cs
- XamlPointCollectionSerializer.cs
- ToolbarAUtomationPeer.cs
- TableLayoutColumnStyleCollection.cs
- HighContrastHelper.cs
- TemplateBindingExtensionConverter.cs
- AnnotationResource.cs
- StylusShape.cs
- XmlSchemaRedefine.cs
- PrincipalPermission.cs
- ClientApiGenerator.cs
- _UncName.cs
- GacUtil.cs
- MailWriter.cs
- UrlParameterReader.cs
- QueryExtender.cs
- RuleDefinitions.cs
- BaseCollection.cs
- Visual3DCollection.cs
- SqlCommand.cs
- UTF7Encoding.cs
- LookupNode.cs
- MultiAsyncResult.cs
- DefaultAutoFieldGenerator.cs
- CompilerGeneratedAttribute.cs
- TabItemWrapperAutomationPeer.cs
- __Filters.cs
- IIS7UserPrincipal.cs
- TreeView.cs
- XPathEmptyIterator.cs
- WindowsBrush.cs
- MediaScriptCommandRoutedEventArgs.cs
- DataSetUtil.cs
- CounterSample.cs
- UnauthorizedAccessException.cs
- PathFigureCollectionConverter.cs
- SqlVisitor.cs
- PageTextBox.cs
- XamlInt32CollectionSerializer.cs
- ExtensionQuery.cs
- BmpBitmapDecoder.cs
- NavigationProgressEventArgs.cs
- Byte.cs
- Filter.cs
- SQLDoubleStorage.cs
- EmptyEnumerator.cs
- TextEditorSpelling.cs
- AsyncOperationManager.cs
- DocumentXmlWriter.cs
- XmlILStorageConverter.cs
- BoundPropertyEntry.cs
- SamlSerializer.cs
- XsltSettings.cs
- InputReferenceExpression.cs
- GridViewCommandEventArgs.cs
- DataGridTextBoxColumn.cs
- SafeLibraryHandle.cs
- PartialArray.cs
- Pair.cs
- MarshalDirectiveException.cs
- QueryableFilterUserControl.cs
- CodeNamespaceImportCollection.cs
- TypeElementCollection.cs
- HandleCollector.cs
- StrongNameHelpers.cs
- InputScope.cs
- ChangePasswordDesigner.cs
- DataPagerFieldItem.cs
- TimeSpanSecondsConverter.cs
- ScrollItemPattern.cs
- HtmlTernaryTree.cs
- Viewport3DAutomationPeer.cs
- PropertyPushdownHelper.cs
- MenuTracker.cs
- HandleCollector.cs
- OdbcCommand.cs
- WSFederationHttpBindingCollectionElement.cs
- sitestring.cs
- TabItemWrapperAutomationPeer.cs
- FacetValues.cs
- ListViewGroupConverter.cs