<Type Name="TypeInitializationException" FullName="System.TypeInitializationException" FullNameSP="System_TypeInitializationException" Maintainer="ecma">
  <TypeSignature Language="ILASM" Value=".class public sealed serializable TypeInitializationException extends System.SystemException" />
  <TypeSignature Language="C#" Value="public sealed class TypeInitializationException : SystemException" />
  <MemberOfLibrary>BCL</MemberOfLibrary>
  <AssemblyInfo>
    <AssemblyName>mscorlib</AssemblyName>
    <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ]</AssemblyPublicKey>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
  <Base>
    <BaseTypeName>System.SystemException</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <summary>
      <para> Represents the error that occurs when an exception is thrown inside the
      static constructor of a type.</para>
    </summary>
    <remarks>
      <para> When a static constructor fails to initialize a type, a
   <see cref="T:System.TypeInitializationException" /> instance is created and passed a reference to the exception
      thrown by the static constructor. The <see cref="!:System.TypeInitializationException.InnerException" /> property stores the exception that was thrown
      by the static constructor.</para>
    </remarks>
    <example>
      <para>The following example demonstrates an error that causes
      a <see cref="T:System.TypeInitializationException" /> exception.</para>
      <code lang="C#">using System;
class TypeInit {
    // Static constructor
   static TypeInit () {
          // Throw an application-defined exception.
        throw new ApplicationException("Error in Class TypeInit");
    }
    public TypeInit() {}
}
class TestTypeInit {
    static public void Main() {
        try {
            TypeInit t = new TypeInit ();
        }
        catch (TypeInitializationException e) {
            Console.WriteLine("Error: {0}",e);
        }
    }
}
   </code>
      <para>The output is</para>
      <code>
Error: System.TypeInitializationException: The type initializer for "TypeInit" threw an exception. ---&gt; System.ApplicationException: Error in Class TypeInit
   at TypeInit..cctor()
   --- End of inner exception stack trace ---
   at TypeInit..ctor()
   at TestTypeInit.Main()
 </code>
    </example>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public TypeInitializationException (string fullTypeName, Exception innerException);" />
      <MemberType>Constructor</MemberType>
      <Parameters>
        <Parameter Name="fullTypeName" Type="System.String" />
        <Parameter Name="innerException" Type="System.Exception" />
      </Parameters>
      <Docs>
        <param name="fullTypeName">To be added.</param>
        <param name="innerException">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetObjectData">
      <MemberSignature Language="C#" Value="public override void GetObjectData (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="info" Type="System.Runtime.Serialization.SerializationInfo" />
        <Parameter Name="context" Type="System.Runtime.Serialization.StreamingContext" />
      </Parameters>
      <Docs>
        <param name="info">To be added.</param>
        <param name="context">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="TypeName">
      <MemberSignature Language="ILASM" Value=".property string TypeName { public hidebysig specialname instance string get_TypeName() }" />
      <MemberSignature Language="C#" Value="public string TypeName { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para> Gets the fully qualified name of the type that causes the
      exception.</para>
        </summary>
        <value>
          <para>A <see cref="T:System.String" /> that contains the fully qualified name of the type that caused the exception.</para>
        </value>
        <remarks>
          <para>This property is read-only.</para>
          <para>The <see cref="P:System.TypeInitializationException.TypeName" /> property returns the same value as was
   passed into the constructor.</para>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
  </Members>
  <TypeExcluded>0</TypeExcluded>
</Type>
