-2

I'm following the instructions for testing an azure function here and I came across this line of code:

public static NullScope Instance { get; } = new NullScope();

I've read this SO answer, so I understand auto-implemented properties, but I don't know how it combines with the static keyword.

Is this just creating a new Nullscope that you can only access and not set? Or does this create a new NullScope every time you get it? If possible, could you expand the line of code for better understanding?

Jeremy W
  • 1,889
  • 6
  • 29
  • 37

1 Answers1

0

Is this just creating a new Nullscope that you can only access and not set?

Yes, exactly.

Or does this create a new NullScope every time you get it?

No, that would look more like this:

public static NullScope Instance
{
    get => new NullScope();
}

Notice that the former has a standard auto-implemented getter and uses some relatively recent syntax to set a value to the auto-implemented backing member, whereas the latter uses a custom getter which is just an "expression bodied member" which, when invoked, returns an object.

David
  • 208,112
  • 36
  • 198
  • 279