using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tango.CodeGeneration
{
/// <summary>
/// Represents a class code object
/// </summary>
/// <seealso cref="Tango.CodeGeneration.CodeObject" />
public class Class : CodeObject
{
/// <summary>
/// Gets or sets the class name.
/// </summary>
public String Name { get; set; }
/// <summary>
/// Gets or sets the description.
/// </summary>
public String Description { get; set; }
public List<String> InheritsFrom { get; set; }
/// <summary>
/// Gets or sets the properties.
/// </summary>
public List<Property> Properties { get; set; }
/// <summary>
/// Gets or sets the dependency properties.
/// </summary>
public List<DpProperty> DependencyProperties { get; set; }
/// <summary>
/// Gets or sets the methods.
/// </summary>
public List<Method> Methods { get; set; }
/// <summary>
/// Initializes a new instance of the <see cref="Class"/> class.
/// </summary>
public Class()
: base()
{
Name = "Class1";
Properties = new List<Property>();
DependencyProperties = new List<DpProperty>();
Methods = new List<Method>();
InheritsFrom = new List<string>();
}
/// <summary>
/// Initializes a new instance of the <see cref="Class"/> class.
/// </summary>
/// <param name="name">The name.</param>
public Class(String name)
: this()
{
Name = name;
}
/// <summary>
/// Initializes a new instance of the <see cref="Class"/> class.
/// </summary>
/// <param name="name">The name.</param>
/// <param name="inheritsFrom">The inherits from.</param>
public Class(String name, params String[] inheritsFrom)
: this(name)
{
if (inheritsFrom != null && inheritsFrom.Length > 0)
{
InheritsFrom = inheritsFrom.ToList();
}
}
}
}
n class="p">.