Tom Gullen Tom Gullen - 10 months ago 37
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
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 Source

Would this not work?

if (options.GetFromDB != null)