Hi!
I have these to methods:
public override bool Equals(object obj)
{
if (obj == null)
return false;
Arg a = obj as Arg;
if (t == null)
return false;
return Id == t.Id;
}
public static bool operator ==(Arg left, Arg right)
{
return left.Equals(right);
}
I want to check if argument left is null in the ==method. But if i do it
like this
if(left == null)
that causes an infinite recursive call. So any suggestions on how to solve
this problem?
Bruce Wood - 31 May 2007 06:26 GMT
> Hi!
>
[quoted text clipped - 21 lines]
> that causes an infinite recursive call. So any suggestions on how to solve
> this problem?
How about
if (Object.ReferenceEquals(left, null))
?
Mattias Sjögren - 31 May 2007 06:30 GMT
>I want to check if argument left is null in the ==method. But if i do it
>like this
>if(left == null)
>that causes an infinite recursive call. So any suggestions on how to solve
>this problem?
Cast to Object will prevent your operator overload to be called
if ((object)left == null)
Another way is to use Object.ReferenceEquals
if (Object.ReferenceEquals(left, null))
Mattias

Signature
Mattias Sjögren [C# MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.