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
- CategoryGridEntry.cs
- RowUpdatedEventArgs.cs
- ThreadLocal.cs
- CheckBoxBaseAdapter.cs
- SafeHandles.cs
- CryptoKeySecurity.cs
- ListBox.cs
- TablePattern.cs
- SafeNativeMethodsOther.cs
- COM2PropertyBuilderUITypeEditor.cs
- InternalBufferOverflowException.cs
- RoleServiceManager.cs
- Int32CollectionValueSerializer.cs
- PrimitiveCodeDomSerializer.cs
- TaskFileService.cs
- JsonMessageEncoderFactory.cs
- CompositeCollection.cs
- CheckBoxBaseAdapter.cs
- Hashtable.cs
- DiagnosticsConfigurationHandler.cs
- HostedHttpTransportManager.cs
- WindowsGraphics2.cs
- ScrollBarRenderer.cs
- CodeObjectCreateExpression.cs
- CryptoConfig.cs
- FastPropertyAccessor.cs
- BrowserTree.cs
- LicenseException.cs
- ServicesExceptionNotHandledEventArgs.cs
- SimpleBitVector32.cs
- Slider.cs
- SiteMapPath.cs
- WebPartUserCapability.cs
- MarkupWriter.cs
- KeysConverter.cs
- FormatterServices.cs
- EntityDataSourceViewSchema.cs
- PromptEventArgs.cs
- FrameDimension.cs
- RegularExpressionValidator.cs
- ElementHost.cs
- LinkButton.cs
- RegistryConfigurationProvider.cs
- OneOfConst.cs
- DrawingContextWalker.cs
- QilIterator.cs
- MailFileEditor.cs
- BinaryUtilClasses.cs
- Walker.cs
- XmlSchemaInferenceException.cs
- DataControlCommands.cs
- MappedMetaModel.cs
- FactoryGenerator.cs
- HtmlForm.cs
- WindowsStartMenu.cs
- EntityDataSourceView.cs
- PartManifestEntry.cs
- GenericTypeParameterBuilder.cs
- Mouse.cs
- FilteredAttributeCollection.cs
- WindowsListViewGroupSubsetLink.cs
- SettingsPropertyNotFoundException.cs
- BinHexEncoding.cs
- SoapExtensionTypeElementCollection.cs
- ModelUIElement3D.cs
- UrlEncodedParameterWriter.cs
- XmlSignatureProperties.cs
- CodeDomSerializerException.cs
- XhtmlBasicLinkAdapter.cs
- DataShape.cs
- GroupBoxAutomationPeer.cs
- WebBrowserProgressChangedEventHandler.cs
- XmlSerializerVersionAttribute.cs
- ParagraphVisual.cs
- Decimal.cs
- DockPattern.cs
- Assert.cs
- securitycriticaldataformultiplegetandset.cs
- QfeChecker.cs
- ToolStripGrip.cs
- CaseInsensitiveComparer.cs
- Int16KeyFrameCollection.cs
- Win32KeyboardDevice.cs
- InstanceNameConverter.cs
- dtdvalidator.cs
- CrossAppDomainChannel.cs
- Zone.cs
- PeerObject.cs
- UriSection.cs
- PropertyBuilder.cs
- ContextMenuStrip.cs
- validationstate.cs
- AtomContentProperty.cs
- MaskedTextBoxTextEditorDropDown.cs
- MediaScriptCommandRoutedEventArgs.cs
- X509Extension.cs
- WhileDesigner.cs
- ContainerAction.cs
- BufferedGraphicsContext.cs
- Exception.cs