ReSharper lets you use any code symbols (classes, methods, properties, fields, variables etc.) before you declare them. When
ReSharper detects an undeclared symbol, it suggests a quick-fix (for C#) or several context actions (for VB.NET) for generating
the corresponding symbol based on the usage, and then smartly adjust the declaration according to the usage context:
For example, if you create a method from usage, ReSharper will not only create a method, but also detect its return type and
types of its parameters:
In the body of the generated method, ReSharper is able, depending on your settings, to throw new
NotImplementedException(), return default value, or put code that will not compile. Choose ReSharper | Options | Languages | Common | Members Generation to select one of these 3 options.