Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / Serialization / System / Runtime / Serialization / GenericParameterDataContract.cs / 1 / GenericParameterDataContract.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Runtime.Serialization { using System; using System.Collections.Generic; using System.Security; internal sealed class GenericParameterDataContract : DataContract { ////// 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; ////// Critical - initializes SecurityCritical field 'helper' /// Safe - doesn't leak anything /// [SecurityCritical, SecurityTreatAsSafe] internal GenericParameterDataContract(Type type) : base(new GenericParameterDataContractCriticalHelper(type)) { helper = base.Helper as GenericParameterDataContractCriticalHelper; } internal int ParameterPosition { ////// Critical - fetches the critical ParameterPosition property /// Safe - ParameterPosition only needs to be protected for write /// [SecurityCritical, SecurityTreatAsSafe] get { return helper.ParameterPosition; } } internal override bool IsBuiltInDataContract { get { return true; } } ////// 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MailWebEventProvider.cs
- Literal.cs
- SQLChars.cs
- DataSet.cs
- BinaryObjectInfo.cs
- SuppressIldasmAttribute.cs
- TextEditorParagraphs.cs
- RemotingServices.cs
- DataRecordInternal.cs
- NameValueFileSectionHandler.cs
- X509PeerCertificateElement.cs
- PrimitiveXmlSerializers.cs
- LexicalChunk.cs
- RtfToXamlReader.cs
- DBSqlParser.cs
- IntegerValidatorAttribute.cs
- GeneralTransform3DCollection.cs
- Pair.cs
- HtmlInputFile.cs
- WebPartConnectionCollection.cs
- CompoundFileDeflateTransform.cs
- ChangeConflicts.cs
- Sentence.cs
- HttpFileCollection.cs
- RequestResizeEvent.cs
- NodeFunctions.cs
- AssemblyAttributesGoHere.cs
- DivideByZeroException.cs
- CompositeFontInfo.cs
- OleStrCAMarshaler.cs
- PointHitTestParameters.cs
- EnumUnknown.cs
- XmlUtilWriter.cs
- WindowsStatic.cs
- Memoizer.cs
- HandlerFactoryWrapper.cs
- DataGridView.cs
- SubtreeProcessor.cs
- ObjectDataSourceChooseMethodsPanel.cs
- AsymmetricCryptoHandle.cs
- ListViewItem.cs
- SignatureHelper.cs
- SendingRequestEventArgs.cs
- Vector3DValueSerializer.cs
- XmlSerializerFormatAttribute.cs
- ClientSponsor.cs
- InputScopeAttribute.cs
- WebProxyScriptElement.cs
- SecurityPermission.cs
- ScriptMethodAttribute.cs
- InstallerTypeAttribute.cs
- ObjectFullSpanRewriter.cs
- PeerNameRecord.cs
- VerificationException.cs
- QueueProcessor.cs
- ClientType.cs
- ConditionalWeakTable.cs
- SerializationInfoEnumerator.cs
- MeasureItemEvent.cs
- ClientOptions.cs
- PersonalizationStateInfo.cs
- PackWebRequestFactory.cs
- OdbcError.cs
- Timer.cs
- MaterialCollection.cs
- Rotation3D.cs
- QilName.cs
- CollectionEditorDialog.cs
- DecoderFallbackWithFailureFlag.cs
- SqlCacheDependencyDatabase.cs
- PreApplicationStartMethodAttribute.cs
- FileEnumerator.cs
- SelectionItemProviderWrapper.cs
- CodeStatementCollection.cs
- COM2ICategorizePropertiesHandler.cs
- HttpContext.cs
- UriTemplateMatchException.cs
- VerificationAttribute.cs
- MatchAttribute.cs
- ErrorTableItemStyle.cs
- EnumUnknown.cs
- InputBinder.cs
- SHA384Managed.cs
- QueryableDataSourceHelper.cs
- SingleKeyFrameCollection.cs
- CodeAccessSecurityEngine.cs
- Matrix3D.cs
- BindStream.cs
- WebPartEditVerb.cs
- OdbcException.cs
- FamilyMapCollection.cs
- FrameworkRichTextComposition.cs
- Rfc2898DeriveBytes.cs
- CodeSnippetStatement.cs
- InstalledFontCollection.cs
- FilterRepeater.cs
- InkCanvasSelectionAdorner.cs
- BulletDecorator.cs
- PageTheme.cs
- TextElementEnumerator.cs