In steps 1 to 10, we created a blank solution and added a .NET Standard 2.0 library to the project. In between, we assigned meaningful names to the project and to the solution. In step 12, we renamed the default class created by Visual Studio. In step 15, we added the namespaces required to build the library.
In step 16, we created a variable to hold the messages using the StringBuilder class. This is a class-level variable that is shared across methods inside the class. In step 17, we created a method that creates a thread pool using a helper method in step 18. Inside that method, we use the messages variable to store the messages during the process.
Finally, in step 19, we performed a quick build to check for the correct ...