I suppose method call chain below.
void DoSomething() { ObjectA a = CreateA(); if (a != null) { a.Foo(); } } ObjectA CreateA() {
You can do
void DoSomething() { CreateA()?.Foo(); } ObjectA CreateA() { return CreateB()?.ToA(); }
Your other approach if you can't use C# 6, is don't return nulls, use null objects that way you never have to deal with null checking ( but you can still check if something is the null object )