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
- ScrollItemProviderWrapper.cs
- Bitmap.cs
- DebuggerService.cs
- DataBoundControl.cs
- PersianCalendar.cs
- MediaContextNotificationWindow.cs
- SystemKeyConverter.cs
- ApplyTemplatesAction.cs
- CssTextWriter.cs
- QueryCreatedEventArgs.cs
- EditingCoordinator.cs
- WaitForChangedResult.cs
- Permission.cs
- BitmapEffectDrawingContextState.cs
- InkPresenterAutomationPeer.cs
- TransformerConfigurationWizardBase.cs
- CapabilitiesPattern.cs
- XPathDescendantIterator.cs
- Timer.cs
- basecomparevalidator.cs
- NetMsmqSecurityElement.cs
- Utils.cs
- securitycriticaldataClass.cs
- BooleanStorage.cs
- base64Transforms.cs
- OracleDataAdapter.cs
- DataRecord.cs
- InvokeBinder.cs
- GridViewEditEventArgs.cs
- WhereQueryOperator.cs
- ImageSourceValueSerializer.cs
- GridViewRowPresenterBase.cs
- Types.cs
- SignatureDescription.cs
- CopyAction.cs
- ServicePointManagerElement.cs
- ExpandableObjectConverter.cs
- RtfToXamlLexer.cs
- DropShadowBitmapEffect.cs
- WebPartDeleteVerb.cs
- StatusBarDrawItemEvent.cs
- ToolStripDropDownItem.cs
- TransformPattern.cs
- EmbeddedMailObjectsCollection.cs
- Internal.cs
- ProtocolsSection.cs
- _ScatterGatherBuffers.cs
- PropertyIdentifier.cs
- CryptoStream.cs
- HMACSHA256.cs
- FormatConvertedBitmap.cs
- HyperLinkColumn.cs
- Dump.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- OpenFileDialog.cs
- SQLInt64Storage.cs
- EventDescriptorCollection.cs
- PageBuildProvider.cs
- ScrollBarRenderer.cs
- LockedAssemblyCache.cs
- LogEntryUtils.cs
- LineGeometry.cs
- PageSettings.cs
- UpDownEvent.cs
- SettingsBase.cs
- EncoderBestFitFallback.cs
- FixedDSBuilder.cs
- RulePatternOps.cs
- DPTypeDescriptorContext.cs
- ListBindingConverter.cs
- DataBinder.cs
- EFTableProvider.cs
- messageonlyhwndwrapper.cs
- CompiledQuery.cs
- PrivacyNoticeElement.cs
- XmlExceptionHelper.cs
- DataContractSet.cs
- RightsManagementInformation.cs
- StringConcat.cs
- DataSourceGeneratorException.cs
- ComponentResourceKey.cs
- WebPartCancelEventArgs.cs
- AutomationPattern.cs
- AccessText.cs
- AxWrapperGen.cs
- GeometryCombineModeValidation.cs
- ISO2022Encoding.cs
- DockPanel.cs
- Math.cs
- LicenseManager.cs
- DataContext.cs
- BuildProviderCollection.cs
- LinqDataSourceDeleteEventArgs.cs
- InternalCache.cs
- WebPermission.cs
- CustomLineCap.cs
- AmbientValueAttribute.cs
- WeakRefEnumerator.cs
- Control.cs
- ObjectItemCachedAssemblyLoader.cs