So I’ve got to admit, this is the weirdest property in this bunch; why? Because it doesn’t actually do anything. Regardless of how you set the value of this property, nothing will change in the generated code. Of course if you set the Is Leaf, Is Abstract, or Is Static properties your generated code will abide by their rules – but the Is Query property does nothing.
So, as an example, if I had a class with the Is Abstract property set, along with the Is Query property set, I would get something like this:
public abstract void Operation1() …
notice it’s not any different than just setting the Is Abstract. Likewise, if I had the Is Leaf property set, I would get something like this:
public void Operation1() …
and finally, even if I had the Is Static property set, I would get something like the following:
public static void Operation1() …
In conclusion, as of the date of this writing, this is one of those things that Microsoft added for future use. This isn’t an uncommon theme amongst Microsoft and their framewoks – and at some level – it’s alright because at least you know something is coming. But the fact that it doesn’t do anything right now and isn’t documented as such is at best annoying !
Thanks for reading, I hope it’s clarified the Is Query property for you, feel free to comment below, and Like this post if you wish! Until next time, happy coding!