次の方法で共有


Type.GetHashCode メソッド

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

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

戻り値

このインスタンスのハッシュ コードを含む Int32

解説

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

使用例

[Visual Basic, C#, C++] System.Windows.Forms.Button クラスのハッシュ コードを表示する例を次に示します。

 
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] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

Type クラス | Type メンバ | System 名前空間