Tom Gullen Tom Gullen - 29 days ago 7
C# Question

Check Func<T> is not null without calling it

Given the class:

public class Options<T>
{
protected internal Func<T> GetFromDB { get; set; }
}


How would I check that the
GetFromDB
method itself is not null, without calling the method? If I do:

if (options.GetFromDB() != null)
{
var r = options.GetFromDB();
... do something
}


It appears to call code within the passed method twice, once for the null check and one for the actual call with return.

Answer

Would this not work?

if (options.GetFromDB != null)