Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / XamlBuildTask / Microsoft / Build / Tasks / Xaml / WrappingXamlSchemaContext.cs / 1305376 / WrappingXamlSchemaContext.cs
using System; using System.Collections.Generic; using System.Text; using System.Xaml; using System.Reflection; namespace Microsoft.Build.Tasks.Xaml { class XamlNsReplacingContext : XamlSchemaContext { string localAssemblyName; string realAssemblyName; IDictionaryMasterTypeList; public XamlNsReplacingContext(IEnumerable referenceAssemblies, string localAssemblyName, string realAssemblyName) : base(referenceAssemblies) { this.localAssemblyName = localAssemblyName; this.realAssemblyName = realAssemblyName; MasterTypeList = new Dictionary (); } public override XamlType GetXamlType(Type type) { if (type == null) { throw FxTrace.Exception.AsError(new ArgumentNullException("type")); } XamlNsReplacingType xamlType = null; if (!MasterTypeList.TryGetValue(type, out xamlType)) { xamlType = new XamlNsReplacingType(type, this, localAssemblyName, realAssemblyName); MasterTypeList.Add(type, xamlType); } return xamlType; } protected override XamlType GetXamlType(string xamlNamespace, string name, params XamlType[] typeArguments) { XamlType xamlType = base.GetXamlType(xamlNamespace, name, typeArguments); if (xamlType == null || xamlType.IsUnknown) { xamlNamespace = XamlBuildTaskServices.UpdateClrNamespaceUriWithLocalAssembly(xamlNamespace, this.localAssemblyName, this.realAssemblyName); xamlType = base.GetXamlType(xamlNamespace, name, typeArguments); } return xamlType; } } class XamlNsReplacingType : XamlType { string localAssemblyName; string realAssemblyName; List namespaces; public XamlNsReplacingType(Type underlyingType, XamlSchemaContext context, string localAssemblyName, string realAssemblyName) : base(underlyingType, context) { this.localAssemblyName = localAssemblyName; this.realAssemblyName = realAssemblyName; namespaces = null; } public override IList GetXamlNamespaces() { if (namespaces == null) { namespaces = new List (); IList originalNamespaces = base.GetXamlNamespaces(); foreach (var ns in originalNamespaces) { namespaces.Add(XamlBuildTaskServices.UpdateClrNamespaceUriWithLocalAssembly(ns, this.localAssemblyName, this.realAssemblyName)); } } return namespaces; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.Collections.Generic; using System.Text; using System.Xaml; using System.Reflection; namespace Microsoft.Build.Tasks.Xaml { class XamlNsReplacingContext : XamlSchemaContext { string localAssemblyName; string realAssemblyName; IDictionary MasterTypeList; public XamlNsReplacingContext(IEnumerable referenceAssemblies, string localAssemblyName, string realAssemblyName) : base(referenceAssemblies) { this.localAssemblyName = localAssemblyName; this.realAssemblyName = realAssemblyName; MasterTypeList = new Dictionary (); } public override XamlType GetXamlType(Type type) { if (type == null) { throw FxTrace.Exception.AsError(new ArgumentNullException("type")); } XamlNsReplacingType xamlType = null; if (!MasterTypeList.TryGetValue(type, out xamlType)) { xamlType = new XamlNsReplacingType(type, this, localAssemblyName, realAssemblyName); MasterTypeList.Add(type, xamlType); } return xamlType; } protected override XamlType GetXamlType(string xamlNamespace, string name, params XamlType[] typeArguments) { XamlType xamlType = base.GetXamlType(xamlNamespace, name, typeArguments); if (xamlType == null || xamlType.IsUnknown) { xamlNamespace = XamlBuildTaskServices.UpdateClrNamespaceUriWithLocalAssembly(xamlNamespace, this.localAssemblyName, this.realAssemblyName); xamlType = base.GetXamlType(xamlNamespace, name, typeArguments); } return xamlType; } } class XamlNsReplacingType : XamlType { string localAssemblyName; string realAssemblyName; List namespaces; public XamlNsReplacingType(Type underlyingType, XamlSchemaContext context, string localAssemblyName, string realAssemblyName) : base(underlyingType, context) { this.localAssemblyName = localAssemblyName; this.realAssemblyName = realAssemblyName; namespaces = null; } public override IList GetXamlNamespaces() { if (namespaces == null) { namespaces = new List (); IList originalNamespaces = base.GetXamlNamespaces(); foreach (var ns in originalNamespaces) { namespaces.Add(XamlBuildTaskServices.UpdateClrNamespaceUriWithLocalAssembly(ns, this.localAssemblyName, this.realAssemblyName)); } } return namespaces; } } } // 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
- TimerEventSubscriptionCollection.cs
- WebRequestModuleElementCollection.cs
- Trigger.cs
- EventToken.cs
- DataGridViewControlCollection.cs
- Accessible.cs
- BoolExpr.cs
- AuthenticationService.cs
- PenContext.cs
- BaseInfoTable.cs
- SchemaDeclBase.cs
- URIFormatException.cs
- SoapDocumentServiceAttribute.cs
- SimpleType.cs
- Connector.cs
- PrePrepareMethodAttribute.cs
- SqlErrorCollection.cs
- CheckBoxRenderer.cs
- WhitespaceRuleReader.cs
- ZipArchive.cs
- Viewport2DVisual3D.cs
- WindowsButton.cs
- ProviderConnectionPointCollection.cs
- FormViewCommandEventArgs.cs
- TypeBuilderInstantiation.cs
- UdpDuplexChannel.cs
- CodeDOMUtility.cs
- DSASignatureDeformatter.cs
- SourceFileInfo.cs
- StringAttributeCollection.cs
- GridView.cs
- InfoCardArgumentException.cs
- NavigateEvent.cs
- DataFieldConverter.cs
- BamlTreeNode.cs
- DataGridViewEditingControlShowingEventArgs.cs
- PropertyInfo.cs
- ParameterCollection.cs
- SqlWriter.cs
- BasicHttpSecurity.cs
- StorageEntityTypeMapping.cs
- SqlDataRecord.cs
- SoapConverter.cs
- X509Extension.cs
- LoadedEvent.cs
- StringValidatorAttribute.cs
- DependencyPropertyAttribute.cs
- BasicCommandTreeVisitor.cs
- SyndicationDeserializer.cs
- ConditionalAttribute.cs
- ByteStorage.cs
- ParseChildrenAsPropertiesAttribute.cs
- XmlLanguage.cs
- ThumbAutomationPeer.cs
- Int16Storage.cs
- IApplicationTrustManager.cs
- AuthenticationException.cs
- JsonGlobals.cs
- ObjectDataSourceSelectingEventArgs.cs
- ViewUtilities.cs
- WebPartEditVerb.cs
- ProcessHostConfigUtils.cs
- HtmlHead.cs
- JoinCqlBlock.cs
- InputLanguageEventArgs.cs
- Resources.Designer.cs
- TagPrefixCollection.cs
- FixedSOMContainer.cs
- DataFormats.cs
- CompareValidator.cs
- StrongNameUtility.cs
- PersonalizationEntry.cs
- QueryBranchOp.cs
- DrawItemEvent.cs
- OdbcTransaction.cs
- ColorMatrix.cs
- ProfileBuildProvider.cs
- WebScriptMetadataFormatter.cs
- safesecurityhelperavalon.cs
- IISMapPath.cs
- ReadOnlyHierarchicalDataSource.cs
- DataGridViewCellFormattingEventArgs.cs
- SignedPkcs7.cs
- XhtmlBasicCalendarAdapter.cs
- UnitySerializationHolder.cs
- BulletedListEventArgs.cs
- NativeMethods.cs
- ReaderWriterLock.cs
- ByteConverter.cs
- DataSourceHelper.cs
- ServiceEndpointAssociationProvider.cs
- TextBoxAutomationPeer.cs
- RegexWriter.cs
- FacetValues.cs
- newinstructionaction.cs
- DataGridViewHeaderCell.cs
- ObjectDataSourceMethodEventArgs.cs
- Rect3DValueSerializer.cs
- TraceLevelStore.cs
- NeutralResourcesLanguageAttribute.cs