Should() is a method due to C # language limitations. This is an extension method; a method defined in the FluentAssertions library that can be called of any type (hence x.Should() ) - even if the source code for the class does not implement this method.
You cannot implement extension properties, therefore Should should be a method.
This method returns an object defined in FluentAssertions , like NotBeNull() , and therefore these objects can include properties in which it is relevant / useful / significant for this.
In short: the real reason is that this is the only option available.
source share