C# “;对象引用未设置为对象的实例;错误 public override bool Equals(对象对象对象) { var par=obj作为参数; 如果(ParameterName==par.ParameterName)/*
原则是防御编程的一个原则-始终检查C# “;对象引用未设置为对象的实例;错误 public override bool Equals(对象对象对象) { var par=obj作为参数; 如果(ParameterName==par.ParameterName)/*,c#,C#,原则是防御编程的一个原则-始终检查NULL 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; } 在访问ParameterNam
NULL
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;
}
在访问
ParameterName
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;
}
}
public override bool Equals(对象对象对象)
{
var par=obj作为参数;
如果(par!=null&&ParameterName==par.ParameterName)/*首先检查它是否为null如何
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;
}
public override bool Equals(对象对象对象)
{
var par=obj作为参数;
如果(par!=null&&ParameterName==par.ParameterName)/*转换为参数时出现问题,则必须检查是否为null
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;
}
使用此选项检查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;
}
@如果par.ParameterName
为null,则不会引发异常。
public override bool Equals(object obj)
{
var par = obj as Parameter;
if (par != null && ParameterName == par.ParameterName )
return true;
else
return false;
}