0
public override bool Equals(object obj)
{
    var par = obj as Parameter;
    if (ParameterName == par.ParameterName )  /* <=throws error at this code */
        return true;
    else
        return false;

}

I am getting this error when I am running that code: Object reference not set to an instance of an object

How to remove the error in c#?

nietonfir
  • 4,697
  • 6
  • 29
  • 43
user3332507
  • 83
  • 1
  • 4

5 Answers5

5

Principle ONE of defensive programming - always check for NULL !

public override bool Equals(object obj)
{
    // this statement CAN FAIL if your "obj" is *NOT* of type "Parameter"
    var par = obj as Parameter;

    // so therefore you MUST be ready to deal with a NULL value here!
    if (par != null && ParameterName == par.ParameterName)  
    {
        return true;
    }
    else
    {
        return false;
    }

}
marc_s
  • 704,970
  • 168
  • 1,303
  • 1,425
1

You can check if par is not null before accessing ParameterName

public override bool Equals(object obj)
{
    var par = obj as Parameter;
    if (par!= null && ParameterName == par.ParameterName )  /* <=throws error at this code */
        return true;
    else
        return false;    
}
Adil
  • 143,427
  • 25
  • 201
  • 198
1

How about checking if it is null first?

public override bool Equals(object obj)
{
    var par = obj as Parameter;
    if (par != null && ParameterName == par.ParameterName )  /* <=throws error at this code */
        return true;
    else
        return false;

}
Adriaan Stander
  • 156,697
  • 29
  • 278
  • 282
1

ther'es a problem in your convertion to Parametre you have to check if null

public override bool Equals(object obj)
{
   var par = obj as Parameter;
   if (par  != null && ParameterName == par.ParameterName ) 
      return true;
   else
      return false;

}
Akrem
  • 4,903
  • 8
  • 35
  • 61
0

use this for checking par != null null

public override bool Equals(object obj)
{
   var par = obj as Parameter;
   if (par  != null && ParameterName == par.ParameterName ) 
      return true;
   else
      return false;

}
Nagaraj S
  • 12,994
  • 6
  • 31
  • 51