//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------ namespace Microsoft.Build.Tasks.Xaml { using System; using System.Collections.Generic; using System.Xml.Linq; using System.Xaml.Schema; using System.Xaml; using System.Windows.Markup; using System.Runtime; using System.Reflection; using System.Collections.ObjectModel; using System.Collections; public class ClassData { [Fx.Tag.Queue(typeof(NamedObject), Scope = Fx.Tag.Strings.DeclaringInstance)] private List namedObjects; [Fx.Tag.Queue(typeof(string), Scope = Fx.Tag.Strings.DeclaringInstance)] private List codeSnippets; List attributes; PropertyDataCollection properties; public ClassData() { this.IsPublic = true; } public XamlType BaseType { get; set; } public IList CodeSnippets { get { if (codeSnippets == null) { codeSnippets = new List(); } return codeSnippets; } } public string EmbeddedResourceFileName { get; internal set; } public KeyedCollection Properties { get { if (this.properties == null) { this.properties = new PropertyDataCollection(); } return this.properties; } } public IList Attributes { get { if (attributes == null) { attributes = new List(); } return attributes; } } public string Name { get; internal set; } public IList NamedObjects { get { if (namedObjects == null) { namedObjects = new List(); } return namedObjects; } } public String Namespace { get; internal set; } public XamlNodeList EmbeddedResourceXaml { get; set; } public bool IsPublic { get; set; } public string FileName { get; internal set; } public string HelperClassFullName { get; internal set; } internal String RootNamespace { get; set; } internal bool SourceFileExists { get; set; } internal bool RequiresCompilationPass2 { get; set; } class PropertyDataCollection : KeyedCollection { protected override string GetKeyForItem(PropertyData item) { return item.Name; } } } }