Created
October 15, 2012 10:58
-
-
Save bentayloruk/3891935 to your computer and use it in GitHub Desktop.
Person Record Type Example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[CompilationMapping(SourceConstructFlags.RecordType)] | |
[Serializable] | |
public sealed class Person : IEquatable<Program.Person>, IStructuralEquatable, IComparable<Program.Person>, IComparable, IStructuralComparable | |
{ | |
[DebuggerBrowsable(DebuggerBrowsableState.Never)] | |
internal string Name@; | |
[DebuggerBrowsable(DebuggerBrowsableState.Never)] | |
internal string Surname@; | |
[CompilationMapping(SourceConstructFlags.Field, 0)] | |
public string Name | |
{ | |
get | |
{ | |
return this.Name@; | |
} | |
} | |
[CompilationMapping(SourceConstructFlags.Field, 1)] | |
public string Surname | |
{ | |
get | |
{ | |
return this.Surname@; | |
} | |
} | |
public Person(string name, string surname) | |
{ | |
this.Name@ = name; | |
this.Surname@ = surname; | |
} | |
[CompilerGenerated] | |
public sealed override int CompareTo(Program.Person obj) | |
{ | |
if (this != null) | |
{ | |
if (obj == null) | |
{ | |
return 1; | |
} | |
IComparer genericComparer = LanguagePrimitives.GenericComparer; | |
int num = string.CompareOrdinal(this.Name@, obj.Name@); | |
if (num < 0) | |
{ | |
return num; | |
} | |
if (num > 0) | |
{ | |
return num; | |
} | |
IComparer genericComparer2 = LanguagePrimitives.GenericComparer; | |
return string.CompareOrdinal(this.Surname@, obj.Surname@); | |
} | |
else | |
{ | |
if (obj != null) | |
{ | |
return -1; | |
} | |
return 0; | |
} | |
} | |
[CompilerGenerated] | |
public sealed override int CompareTo(object obj) | |
{ | |
return this.CompareTo((Program.Person)obj); | |
} | |
[CompilerGenerated] | |
public sealed override int CompareTo(object obj, IComparer comp) | |
{ | |
Program.Person person = (Program.Person)obj; | |
Program.Person person2 = person; | |
if (this != null) | |
{ | |
if ((Program.Person)obj == null) | |
{ | |
return 1; | |
} | |
int num = string.CompareOrdinal(this.Name@, person2.Name@); | |
if (num < 0) | |
{ | |
return num; | |
} | |
if (num > 0) | |
{ | |
return num; | |
} | |
return string.CompareOrdinal(this.Surname@, person2.Surname@); | |
} | |
else | |
{ | |
if ((Program.Person)obj != null) | |
{ | |
return -1; | |
} | |
return 0; | |
} | |
} | |
[CompilerGenerated] | |
public sealed override int GetHashCode(IEqualityComparer comp) | |
{ | |
if (this != null) | |
{ | |
int num = 0; | |
int arg_33_0 = -1640531527; | |
string surname@ = this.Surname@; | |
num = arg_33_0 + (((surname@ == null) ? 0 : [email protected]()) + ((num << 6) + (num >> 2))); | |
int arg_5E_0 = -1640531527; | |
string name@ = this.Name@; | |
return arg_5E_0 + (((name@ == null) ? 0 : [email protected]()) + ((num << 6) + (num >> 2))); | |
} | |
return 0; | |
} | |
[CompilerGenerated] | |
public sealed override int GetHashCode() | |
{ | |
return this.GetHashCode(LanguagePrimitives.GenericEqualityComparer); | |
} | |
[CompilerGenerated] | |
public sealed override bool Equals(object obj, IEqualityComparer comp) | |
{ | |
if (this == null) | |
{ | |
return obj == null; | |
} | |
Program.Person person = obj as Program.Person; | |
if (person != null) | |
{ | |
Program.Person person2 = person; | |
return string.Equals(this.Name@, person2.Name@) && string.Equals(this.Surname@, person2.Surname@); | |
} | |
return false; | |
} | |
[CompilerGenerated] | |
public sealed override bool Equals(Program.Person obj) | |
{ | |
if (this != null) | |
{ | |
return obj != null && string.Equals(this.Name@, obj.Name@) && string.Equals(this.Surname@, obj.Surname@); | |
} | |
return obj == null; | |
} | |
[CompilerGenerated] | |
public sealed override bool Equals(object obj) | |
{ | |
Program.Person person = obj as Program.Person; | |
return person != null && this.Equals(person); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment