Update Reference Sources to .NET Framework 4.6.1
[mono.git] / mcs / class / referencesource / mscorlib / system / reflection / emit / stringtoken.cs
1 // ==++==
2 // 
3 //   Copyright (c) Microsoft Corporation.  All rights reserved.
4 // 
5 // ==--==
6 /*============================================================
7 **
8 ** Class:  StringToken
9 ** 
10 ** <OWNER>[....]</OWNER>
11 **
12 **
13 ** Purpose: Represents a String to the ILGenerator class.
14 **
15 ** 
16 ===========================================================*/
17 namespace System.Reflection.Emit {
18     
19     using System;
20     using System.Reflection;
21     using System.Security.Permissions;
22
23     [Serializable]
24     [System.Runtime.InteropServices.ComVisible(true)]
25     public struct StringToken {
26     
27         internal int m_string;
28     
29         //public StringToken() {
30         //    m_string=0;
31         //}
32         
33         internal StringToken(int str) {
34             m_string=str;
35         }
36     
37         // Returns the metadata token for this particular string.  
38         // Generated by a call to Module.GetStringConstant().
39         //
40         public int Token {
41             get { return m_string; }
42         }
43         
44         public override int GetHashCode()
45         {
46             return m_string;
47         }
48         
49         public override bool Equals(Object obj)
50         {
51             if (obj is StringToken)
52                 return Equals((StringToken)obj);
53             else
54                 return false;
55         }
56     
57         public bool Equals(StringToken obj)
58         {
59             return obj.m_string == m_string;
60         }
61     
62         public static bool operator ==(StringToken a, StringToken b)
63         {
64             return a.Equals(b);
65         }
66         
67         public static bool operator !=(StringToken a, StringToken b)
68         {
69             return !(a == b);
70         }
71         
72     }
73
74
75
76
77
78
79
80
81 }