Type.GetHashCode メソッド

定義

このインスタンスのハッシュ コードを返します。

public:
 override int GetHashCode();
public override int GetHashCode ();
override this.GetHashCode : unit -> int
Public Overrides Function GetHashCode () As Integer

戻り値

Int32

対象のインスタンスのハッシュ コード。

実装

クラスのハッシュコードを表示する例を次に示し System.Windows.Forms.Button ます。

#using <system.dll>
#using <system.windows.forms.dll>
#using <System.Drawing.dll>

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

int main()
{
   Type^ myType = System::Net::IPAddress::typeid;
   array<FieldInfo^>^myFields = myType->GetFields( static_cast<BindingFlags>(BindingFlags::Static | BindingFlags::NonPublic) );
   Console::WriteLine( "\nThe IPAddress class has the following nonpublic fields: " );
   System::Collections::IEnumerator^ myEnum = myFields->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      FieldInfo^ myField = safe_cast<FieldInfo^>(myEnum->Current);
      Console::WriteLine( myField );
   }

   Type^ myType1 = System::Net::IPAddress::typeid;
   array<FieldInfo^>^myFields1 = myType1->GetFields();
   Console::WriteLine( "\nThe IPAddress class has the following public fields: " );
   System::Collections::IEnumerator^ myEnum2 = myFields1->GetEnumerator();
   while ( myEnum2->MoveNext() )
   {
      FieldInfo^ myField = safe_cast<FieldInfo^>(myEnum2->Current);
      Console::WriteLine( myField );
   }

   try
   {
      Console::WriteLine( "The HashCode of the System::Windows::Forms::Button type is: {0}", System::Windows::Forms::Button::typeid->GetHashCode() );
   }
   catch ( SecurityException^ e ) 
   {
      Console::WriteLine( "An exception occurred." );
      Console::WriteLine( "Message: {0}", e->Message );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "An exception occurred." );
      Console::WriteLine( "Message: {0}", e->Message );
   }
}
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);
        }		
    }
}
Imports System.Security
Imports System.Reflection

' 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
End Class

注釈

このメソッドは、Object.GetHashCode をオーバーライドします。

適用対象