This class builds an array of preprocessor target framework symbols that can be used elsewhere in code.
Normally these would not be accessible in code because they are used by the compiler to help determine what should be compiled.
You can use this class in, for example, a test where you want to ensure that tests that operate differently depending on the framework targetted, like this:
#if NETCOREAPP3_1
// Do somthing specifice to .NET Core 3.1 apps
#elif NET5_0
// Do something specific to .NET 5.0 apps
#else
// Fail the test, we are targetting an unknown thing.
Assert.Fail($"Unexpected target framework. Available target frameworks: {PreprocessorSymbols.StringList}");
#endif