Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / DeferrableContent.cs / 1471291 / DeferrableContent.cs
using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Security; using System.Xaml; using System.Xaml.Permissions; using System.Windows.Baml2006; using System.ComponentModel; namespace System.Windows { [TypeConverter(typeof(DeferrableContentConverter))] public class DeferrableContent { ////// Critical to write: We will assert this permission before realizing the deferred content. /// Critical to read: Can be mutated via FromXml method. /// internal XamlLoadPermission LoadPermission { [SecurityCritical] get; [SecurityCritical] private set; } ////// Critical to write: This describes the content that is allowed to be loaded with LoadPermission. /// If LoadPermission is null then this is non-critical. /// Safe to read: Carries no privilege in itself. /// internal Stream Stream { [SecurityCritical, SecurityTreatAsSafe] get; [SecurityCritical] private set; } internal Baml2006SchemaContext SchemaContext { get; private set; } internal IXamlObjectWriterFactory ObjectWriterFactory { get; private set; } internal XamlObjectWriterSettings ObjectWriterParentSettings { get; private set; } internal object RootObject { get; private set; } // internal IServiceProvider ServiceProvider { get; private set; } ////// Critical: Sets critical properties LoadPermission and Stream /// Safe: Demands LoadPermission before setting it /// [SecurityCritical, SecurityTreatAsSafe] internal DeferrableContent(Stream stream, Baml2006SchemaContext schemaContext, IXamlObjectWriterFactory objectWriterFactory, IServiceProvider serviceProvider, object rootObject) { ObjectWriterParentSettings = objectWriterFactory.GetParentSettings(); if (ObjectWriterParentSettings.AccessLevel != null) { XamlLoadPermission loadPermission = new XamlLoadPermission(ObjectWriterParentSettings.AccessLevel); loadPermission.Demand(); this.LoadPermission = loadPermission; } bool assemblyTargetsFramework2 = false; // The local assembly can be null if it is not specified in the XamlReaderSettings. if (schemaContext.LocalAssembly != null) { assemblyTargetsFramework2 = schemaContext.LocalAssembly.ImageRuntimeVersion.StartsWith("v2", StringComparison.Ordinal); } // There is an incompatibility between the framework versions 3 and 4 regarding MarkupExtension resources. // In version 3, MarkupExtension resources did not provide values when looked up. // In version 4, they do. if (assemblyTargetsFramework2) { ObjectWriterParentSettings.SkipProvideValueOnRoot = true; } this.Stream = stream; this.SchemaContext = schemaContext; this.ObjectWriterFactory = objectWriterFactory; this.ServiceProvider = serviceProvider; this.RootObject = rootObject; } } } // 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
- DetailsViewUpdatedEventArgs.cs
- SelectionUIService.cs
- PeerHopCountAttribute.cs
- List.cs
- Stream.cs
- ProfileEventArgs.cs
- StringUtil.cs
- TableLayoutStyle.cs
- WebRequest.cs
- SqlTrackingWorkflowInstance.cs
- SortedSetDebugView.cs
- ReadOnlyDictionary.cs
- WebContentFormatHelper.cs
- WebPartDeleteVerb.cs
- MarkupExtensionReturnTypeAttribute.cs
- ObjectViewQueryResultData.cs
- CustomAssemblyResolver.cs
- StackBuilderSink.cs
- DialogBaseForm.cs
- XamlGridLengthSerializer.cs
- CalendarDateRange.cs
- UserUseLicenseDictionaryLoader.cs
- XmlSchemaImport.cs
- UdpAnnouncementEndpoint.cs
- PageCopyCount.cs
- AssemblyInfo.cs
- ProtocolsConfiguration.cs
- ScrollEvent.cs
- StringTraceRecord.cs
- WindowsStatusBar.cs
- DrawingCollection.cs
- DataObjectEventArgs.cs
- Highlights.cs
- ObjectDataSourceDisposingEventArgs.cs
- ControlUtil.cs
- MailMessage.cs
- VisualBasicImportReference.cs
- MetadataArtifactLoaderCompositeResource.cs
- EndpointPerformanceCounters.cs
- BooleanFunctions.cs
- DataContractAttribute.cs
- SevenBitStream.cs
- ReverseInheritProperty.cs
- RemoteDebugger.cs
- AsyncResult.cs
- ConfigurationProperty.cs
- EntryWrittenEventArgs.cs
- FontWeightConverter.cs
- versioninfo.cs
- HMACMD5.cs
- FontFamily.cs
- MetaModel.cs
- DeviceFilterEditorDialog.cs
- TraceInternal.cs
- GuidTagList.cs
- BitmapEffectvisualstate.cs
- COMException.cs
- ClientTargetSection.cs
- WinCategoryAttribute.cs
- XPathScanner.cs
- ColumnWidthChangedEvent.cs
- Shared.cs
- UTF7Encoding.cs
- CompiledQuery.cs
- Propagator.JoinPropagator.cs
- DataGridViewTextBoxCell.cs
- HScrollProperties.cs
- BulletDecorator.cs
- PeerInvitationResponse.cs
- HitTestParameters3D.cs
- DataGridViewCellStyleConverter.cs
- SqlCaseSimplifier.cs
- TableParaClient.cs
- CodeAccessSecurityEngine.cs
- ConstraintManager.cs
- DesignerActionTextItem.cs
- ChameleonKey.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- HyperLinkStyle.cs
- DocumentPageViewAutomationPeer.cs
- HwndMouseInputProvider.cs
- COM2ExtendedTypeConverter.cs
- SafeSecurityHelper.cs
- DateTimeHelper.cs
- SoapSchemaMember.cs
- DictionaryEditChange.cs
- ClientSponsor.cs
- DesignerContextDescriptor.cs
- SystemWebCachingSectionGroup.cs
- SerializationException.cs
- SiteMapNodeCollection.cs
- SoapMessage.cs
- SystemThemeKey.cs
- ImageListUtils.cs
- SignatureToken.cs
- DeviceContext.cs
- TransformerConfigurationWizardBase.cs
- SessionStateUtil.cs
- SafeBuffer.cs
- XamlFxTrace.cs