<Type Name="CodeTypeDeclaration" FullName="System.CodeDom.CodeTypeDeclaration">
  <TypeSignature Language="C#" Value="public class CodeTypeDeclaration : System.CodeDom.CodeTypeMember" Maintainer="auto" />
  <AssemblyInfo>
    <AssemblyName>System</AssemblyName>
    <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey>
    <AssemblyVersion>1.0.3300.0</AssemblyVersion>
    <AssemblyCulture>neutral</AssemblyCulture>
    <Attributes>
      <Attribute>
        <AttributeName>System.Resources.NeutralResourcesLanguageAttribute</AttributeName>
      </Attribute>
      <Attribute>
        <AttributeName>System.Resources.SatelliteContractVersionAttribute</AttributeName>
      </Attribute>
      <Attribute>
        <AttributeName>System.CLSCompliantAttribute</AttributeName>
      </Attribute>
      <Attribute>
        <AttributeName>System.Runtime.InteropServices.ComVisibleAttribute</AttributeName>
      </Attribute>
      <Attribute>
        <AttributeName>System.Security.AllowPartiallyTrustedCallersAttribute</AttributeName>
      </Attribute>
    </Attributes>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement>
  <Docs>
    <summary>Represents a type declaration in the CodeDom.</summary>
    <remarks>The CodeTypeDeclaration represents a type declaration in the CodeDom graph. The type may be one of

<list type="bullet">
        <item>
          <term>Class</term>
        </item>
        <item>
          <term>Enumeration (enum)</term>
        </item>
        <item>
          <term>Interface</term>
        </item>
        <item>
          <term>Structure (struct)</term>
        </item>
      </list><code lang="c#">
// Create Hello class
// public class Hello {
// }
CodeTypeDeclaration helloClass=new CodeTypeDeclaration("Hello");
helloClass.IsClass=true;
</code></remarks>
  </Docs>
  <Base>
    <BaseTypeName>System.CodeDom.CodeTypeMember</BaseTypeName>
  </Base>
  <Interfaces />
  <Attributes>
    <Attribute>
      <AttributeName>System.Runtime.InteropServices.ClassInterfaceAttribute</AttributeName>
    </Attribute>
    <Attribute>
      <AttributeName>System.Runtime.InteropServices.ComVisibleAttribute</AttributeName>
    </Attribute>
  </Attributes>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public CodeTypeDeclaration ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <returns>To be added: an object of type 'CodeTypeDeclaration'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public CodeTypeDeclaration (string name);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="name" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Creates a <see cref="T:System.CodeDom.CodeTypeDeclaration" /> with the specified name.</summary>
        <param name="name">Name for the <see cref="T:System.CodeDom.CodeTypeDeclaration" /></param>
        <returns>To be added: an object of type 'CodeTypeDeclaration'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="TypeAttributes">
      <MemberSignature Language="C#" Value="public Reflection.TypeAttributes TypeAttributes { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Reflection.TypeAttributes</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="value">To be added: an object of type 'Reflection.TypeAttributes'</param>
        <returns>To be added: an object of type 'Reflection.TypeAttributes'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="BaseTypes">
      <MemberSignature Language="C#" Value="public CodeTypeReferenceCollection BaseTypes { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.CodeDom.CodeTypeReferenceCollection</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>List of types from which this type is derived.</summary>
        <returns>
          <see cref="T:System.CodeDom.CodeTypeReferenceCollection" /> containing list of types from which this type is derived.</returns>
        <remarks>
          <example>
	This example demonstrates the use of the <see cref="P:System.CodeDom.CodeTypeDeclaration.BaseTypes" />.
  <code lang="C#">
		CodeTypeDeclaration baseClass=new CodeTypeDeclaration("BaseClass");
		baseClass.IsClass=true;
		CodeTypeDeclaration helloClass=new CodeTypeDeclaration("SubClass");
		helloClass.IsClass=true;
		helloClass.BaseTypes.Add(new CodeTypeReference("BaseClass"));
  </code>
Generates the output
<code lang="C#">
 public class SubClass : BaseClass {
 }
</code></example>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="IsClass">
      <MemberSignature Language="C#" Value="public bool IsClass { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>Flag signifying whether the object is a Class.</summary>
        <param name="value">To be added: an object of type 'bool'</param>
        <returns>To be added: an object of type 'bool'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="IsStruct">
      <MemberSignature Language="C#" Value="public bool IsStruct { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>Flag signifying whether the object is an Structure (struct).</summary>
        <param name="value">To be added: an object of type 'bool'</param>
        <returns>To be added: an object of type 'bool'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="IsEnum">
      <MemberSignature Language="C#" Value="public bool IsEnum { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>Flag signifying whether the object is an Enumeration <see cref="T:System.Enum" />.</summary>
        <param name="value">To be added: an object of type 'bool'</param>
        <returns>To be added: an object of type 'bool'</returns>
        <remarks>
          <example>
            <code lang="C#">
		CodeTypeDeclaration colorEnum=new CodeTypeDeclaration("Colors");
		colorEnum.IsEnum=true;
		CodeMemberField memBlue=new CodeMemberField(typeof(int),"BLUE");
		memBlue.InitExpression=new CodeSnippetExpression("2");
		colorEnum.Members.Add(memBlue);
		colorEnum.Members.Add(new CodeMemberField(typeof(int),"Green"));
  </code>
Generates the following code for the C# generator:
<code lang="C#">
    public enum Colors {

        BLUE = 2,

        Green,
    }
</code></example>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="IsInterface">
      <MemberSignature Language="C#" Value="public bool IsInterface { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>Flag signifying whether the object is an Interface.</summary>
        <param name="value">To be added: an object of type 'bool'</param>
        <returns>To be added: an object of type 'bool'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Members">
      <MemberSignature Language="C#" Value="public CodeTypeMemberCollection Members { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.CodeDom.CodeTypeMemberCollection</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added</summary>
        <returns>To be added: an object of type 'CodeTypeMemberCollection'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="PopulateBaseTypes">
      <MemberSignature Language="C#" Value="public event EventHandler PopulateBaseTypes;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="PopulateMembers">
      <MemberSignature Language="C#" Value="public event EventHandler PopulateMembers;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
  </Members>
</Type>