Checking for Null References

View as Markdown

A common object-oriented programming error is not checking for null references on your object variables. This will cause an “Object reference not set to an instance of an object” error.

For example:

You create a variable that holds an Order object.

1private Order entryOrder = null;

But in the OnBarUpdate() method, you do not check if this variable has been assigned an Order object. Thus, when trying to access object properties, it fails and yields the “Object reference not set” error since the variable is null.

1protected override void OnBarUpdate()
2{
3 if (entryOrder.Filled > 0)
4 // Do something
5}

This will generate an error because you cannot access the object or any of its properties yet. You must always check if an object variable is null before attempting to access the object.

1protected override void OnBarUpdate()
2{
3 if (entryOrder == null)
4 {
5 entryOrder = EnterLong();
6 }
7 else if (entryOrder != null)
8 {
9 if (entryOrder.Filled > 0)
10 // Do something
11 }
12}