Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / XamlBuildTask / Microsoft / Build / Tasks / Xaml / ClassValidator.cs / 1305376 / ClassValidator.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace Microsoft.Build.Tasks.Xaml { using System.Collections.Generic; using System.Diagnostics; using System.Xaml; using System.Runtime; using System.Reflection; using System; using System.Xaml.Schema; class ClassValidator { string xamlFileName; IExceptionLogger buildLogger; IListeventArgs; Assembly localAssembly; string rootNamespace; public ClassValidator(IExceptionLogger buildLogger, string xamlFileName, Assembly localAssembly, string rootNamespace) { this.buildLogger = buildLogger; this.xamlFileName = xamlFileName; this.localAssembly = localAssembly; this.eventArgs = null; this.rootNamespace = rootNamespace; } public bool ValidateXaml(XamlReader xamlReader, bool failOnFirstError, string assemblyName, out IList validationErrors) { if (xamlReader == null) { throw FxTrace.Exception.ArgumentNull("xamlReader"); } validationErrors = null; // We loop through the provided XAML using a XamlValidatingReader to ensure that: // 1. XAML is valid. // 2. All types referenced in XAML are validate-able. At this point, any types defined in the local // assembly should be referenced, so this should be possible. XamlValidatingReader reader = new XamlValidatingReader(xamlReader, this.localAssembly, rootNamespace, assemblyName); reader.OnValidationError += new EventHandler (reader_OnValidationError); while (reader.Read()) { if (this.eventArgs != null && failOnFirstError) { validationErrors = this.eventArgs; return false; } } validationErrors = this.eventArgs; if (validationErrors != null && validationErrors.Count > 0) { return false; } return true; } void reader_OnValidationError(object sender, ValidationEventArgs e) { if (this.eventArgs == null) { this.eventArgs = new List (); } this.eventArgs.Add(new LogData() { FileName = this.xamlFileName, LineNumber = e.LineNumber, LinePosition = e.LinePosition, Message = e.Message }); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AccessibleObject.cs
- UnionCodeGroup.cs
- MouseDevice.cs
- BoundColumn.cs
- WebScriptMetadataMessageEncoderFactory.cs
- AppDomainGrammarProxy.cs
- PersonalizationAdministration.cs
- CodeExpressionStatement.cs
- ConnectionProviderAttribute.cs
- Binding.cs
- safex509handles.cs
- XsdCachingReader.cs
- BamlBinaryWriter.cs
- RTLAwareMessageBox.cs
- ExponentialEase.cs
- ZoneMembershipCondition.cs
- Module.cs
- MenuItemBinding.cs
- FtpRequestCacheValidator.cs
- WebPartDescription.cs
- MetadataSection.cs
- securitycriticaldata.cs
- TypeSemantics.cs
- Debug.cs
- SpecialFolderEnumConverter.cs
- HtmlTextArea.cs
- StatusBarItemAutomationPeer.cs
- UserNameSecurityTokenAuthenticator.cs
- InvalidContentTypeException.cs
- Keywords.cs
- SyntaxCheck.cs
- MetadataWorkspace.cs
- GroupStyle.cs
- ResetableIterator.cs
- ImageSourceValueSerializer.cs
- TypeConverterAttribute.cs
- StrictModeSecurityHeaderElementInferenceEngine.cs
- util.cs
- SmiSettersStream.cs
- Registry.cs
- PixelFormat.cs
- TaskSchedulerException.cs
- Content.cs
- HttpEncoder.cs
- SwitchCase.cs
- AttributeEmitter.cs
- DBDataPermission.cs
- SoundPlayer.cs
- XsltConvert.cs
- PerformanceCounterPermissionAttribute.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- IWorkflowDebuggerService.cs
- ColorTransformHelper.cs
- SoapFault.cs
- WindowsBrush.cs
- MenuItemStyleCollectionEditor.cs
- CodeConstructor.cs
- TabletDevice.cs
- WindowsGrip.cs
- Fault.cs
- System.Data_BID.cs
- RemoteDebugger.cs
- Compress.cs
- WebPartMenu.cs
- MonikerBuilder.cs
- SettingsAttributes.cs
- TransformPattern.cs
- ImageCodecInfo.cs
- SapiAttributeParser.cs
- SettingsAttributes.cs
- Event.cs
- UiaCoreProviderApi.cs
- DesignerOptionService.cs
- ProviderSettingsCollection.cs
- SqlDataSourceSelectingEventArgs.cs
- TimeSpanStorage.cs
- ConsoleCancelEventArgs.cs
- OperatingSystem.cs
- RemoteWebConfigurationHostServer.cs
- PageAsyncTaskManager.cs
- ChangeProcessor.cs
- ErrorFormatterPage.cs
- DataGridViewCheckBoxColumn.cs
- SyndicationElementExtensionCollection.cs
- SegmentInfo.cs
- GeneralTransform2DTo3DTo2D.cs
- XmlCharCheckingReader.cs
- CacheAxisQuery.cs
- CompilerCollection.cs
- RuntimeHelpers.cs
- SamlSubject.cs
- ListControlConvertEventArgs.cs
- Converter.cs
- FindCriteria11.cs
- SoapAttributeAttribute.cs
- IdnMapping.cs
- DataGridTextBoxColumn.cs
- SoapElementAttribute.cs
- PagePropertiesChangingEventArgs.cs
- Membership.cs