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。