Επεξεργασία

Κοινή χρήση μέσω


Type.GetHashCode Method

Definition

Returns the hash code for this instance.

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

Returns

The hash code for this instance.

Implements

Examples

The following example displays the hash code of the System.Windows.Forms.Button class.

#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);
        }		
    }
}
open System.Security
open System.Reflection

let myType = typeof<System.Net.IPAddress>
let myFields = myType.GetFields(BindingFlags.Static ||| BindingFlags.NonPublic)
printfn "\nThe IPAddress class has the following nonpublic fields: "
for myField in myFields do
    printfn $"{myField}"
let myType1 = typeof<System.Net.IPAddress>
let myFields1 = myType1.GetFields()
printfn "\nThe IPAddress class has the following public fields: "
for myField in myFields1 do
    printfn $"{myField}"
try
    printfn $"The HashCode of the System.Windows.Forms.Button type is: {typeof<System.Windows.Forms.Button>.GetHashCode()}"
with
| :? SecurityException as e ->
    printfn "An exception occurred."
    printfn $"Message: {e.Message}"
| e ->
    printfn "An exception occurred."
    printfn $"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

Remarks

This method overrides Object.GetHashCode.

Applies to