william007
william007

Reputation: 18547

cannot implicitly convert type 'Microsoft.SolverFoundation.Services.Term' to 'bool'

I got an exception "cannot implicitly convert type 'Microsoft.SolverFoundation.Services.Term' to 'bool'" at the code below, how should I solve it?

Term a=null;
            if(a==null)//<--this line exception
            {

            }

Below is the snap shot

enter image description here

Upvotes: 2

Views: 305

Answers (1)

Daniel Hilgarth
Daniel Hilgarth

Reputation: 174467

The problem is that the Term class overrides the equality operator in a way that it doesn't return bool but another Term instead: http://msdn.microsoft.com/en-us/library/ff525374%28v=vs.93%29.aspx

I am not sure why they would do something like this, because it goes against any advice on overriding operators...

To fix your problem, use this code instead:

if(ReferenceEquals(a, null))

Upvotes: 5

Related Questions