Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Type.GetHashCode Method

Returns the hash code for this instance.

[Visual Basic]
Overrides Public Function GetHashCode() As Integer
[C#]
public override int GetHashCode();
[C++]
public: int GetHashCode();
[JScript]
public override function GetHashCode() : int;

Return Value

An Int32 containing the hash code for this instance.

Remarks

This method overrides Object.GetHashCode.

Example

[Visual Basic, C#, C++] The following example displays the hash code of the System.Windows.Forms.Button class.

[Visual Basic] 
Imports System
Imports System.Security
Imports System.Reflection
Imports Microsoft.VisualBasic

' Compile this sample using the following command line:
' vbc type_gethashcode_getfields.vb /r:"System.Windows.Forms.dll" /r:"System.dll"

Class FieldsSample

    Public Shared Sub Main()
        Dim myType As Type = GetType(System.Net.IPAddress)
        Dim myFields As FieldInfo() = myType.GetFields((BindingFlags.Static Or BindingFlags.NonPublic))
        Console.WriteLine(ControlChars.Lf & "The IPAddress class has the following nonpublic fields: ")
        Dim myField As FieldInfo
        For Each myField In myFields
            Console.WriteLine(myField.ToString())
        Next myField
        Dim myType1 As Type = GetType(System.Net.IPAddress)
        Dim myFields1 As FieldInfo() = myType1.GetFields()
        Console.WriteLine(ControlChars.Lf & "The IPAddress class has the following public fields: ")
        Dim myField1 As FieldInfo
        For Each myField1 In myFields1
            Console.WriteLine(myField.ToString())
        Next myField1
        Try
            Console.WriteLine("The HashCode of the System.Windows.Forms.Button type is: {0}", GetType(System.Windows.Forms.Button).GetHashCode())
        Catch e As SecurityException
            Console.WriteLine("An exception occurred.")
            Console.WriteLine(("Message: " & e.Message))
        Catch e As Exception
            Console.WriteLine("An exception occurred.")
            Console.WriteLine(("Message: " & e.Message))
        End Try
    End Sub 'Main
End Class 'FieldsSample

[C#] 
using System;
using System.Security;
using System.Reflection;

class FieldsSample
{
    public static void Main()                          
    {
        Type myType = typeof(System.Net.IPAddress);
        FieldInfo [] myFields = myType.GetFields(BindingFlags.Static | BindingFlags.NonPublic);
        Console.WriteLine ("\nThe IPAddress class has the following nonpublic fields: ");
        foreach (FieldInfo myField in myFields) 
        {
            Console.WriteLine(myField.ToString());
        }
        Type myType1 = typeof(System.Net.IPAddress);
        FieldInfo [] myFields1 = myType1.GetFields();
        Console.WriteLine ("\nThe IPAddress class has the following public fields: ");
        foreach (FieldInfo myField in myFields1) 
        {
            Console.WriteLine(myField.ToString());
        }
        try
        {
            Console.WriteLine("The HashCode of the System.Windows.Forms.Button type is: {0}",
                typeof(System.Windows.Forms.Button).GetHashCode());
        }        
        catch(SecurityException e)
        {
            Console.WriteLine("An exception occurred.");
            Console.WriteLine("Message: "+e.Message);
        }
        catch(Exception e)
        {
            Console.WriteLine("An exception occurred.");
            Console.WriteLine("Message: "+e.Message);

        }        
    }
}    

[C++] 
#using <mscorlib.dll>
#using <system.dll>
#using <system.windows.forms.dll>

using namespace System;
using namespace System::Security;
using namespace System::Reflection;

int main() {
   Type*  myType = __typeof(System::Net::IPAddress);
   FieldInfo* myFields[] = myType->GetFields(static_cast<BindingFlags>(BindingFlags::Static | BindingFlags::NonPublic));
   Console::WriteLine (S"\nThe IPAddress class has the following nonpublic fields: ");
   System::Collections::IEnumerator* myEnum = myFields->GetEnumerator();
   while (myEnum->MoveNext()) {
      FieldInfo* myField = __try_cast<FieldInfo*>(myEnum->Current);

      Console::WriteLine(myField);
   }
   Type*  myType1 = __typeof(System::Net::IPAddress);
   FieldInfo* myFields1[] = myType1->GetFields();
   Console::WriteLine (S"\nThe IPAddress class has the following public fields: ");
   System::Collections::IEnumerator* myEnum2 = myFields1->GetEnumerator();
   while (myEnum2->MoveNext()) {
      FieldInfo* myField = __try_cast<FieldInfo*>(myEnum2->Current);

      Console::WriteLine(myField);
   }
   try {
      Console::WriteLine(S"The HashCode of the System::Windows::Forms::Button type is: {0}",
         __box(__typeof(System::Windows::Forms::Button)->GetHashCode()));
   } catch (SecurityException* e) {
      Console::WriteLine(S"An exception occurred.");
      Console::WriteLine(S"Message: {0}", e->Message);
   } catch (Exception* e) {
      Console::WriteLine(S"An exception occurred.");
      Console::WriteLine(S"Message: {0}", e->Message);

   }
}

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard

See Also

Type Class | Type Members | System Namespace

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft