Type.GetHashCode 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이 인스턴스의 해시 코드를 반환합니다.
public:
override int GetHashCode();
public override int GetHashCode ();
override this.GetHashCode : unit -> int
Public Overrides Function GetHashCode () As Integer
반환
이 인스턴스의 해시 코드입니다.
구현
예제
다음 예제에서는 클래스의 해시 코드를 표시 합니다 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를 재정의합니다.