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