JetBrains Rider lets you use code symbols (classes, methods, variables, properties, fields, and so on) before you declare them. When JetBrains Rider detects an undeclared symbol, it suggests one or more quick-fixesAltEnter for generating a declaration based on the usage, and then smartly adjust the declaration according to the usage context:
For example, if you create a method from usage, JetBrains Rider will not only create a method, but also detect its return type and types of its parameters:
Depending on your settings, stubs for new members can be generated in different ways. For example, they can throw new NotImplementedException(), return default value, or include code that will not compile. You can configure these and other preferences on the Editor | Members Generation page of JetBrains Rider settings CtrlAlt0S.