What you should know
- [Instructor] This is a code challenge course where you get to prove your skills by writing code to solve the proposed challenge. There are six challenges in this course. Before you write the code, let me provide some context. What do you need to know? I'll tell you what kinds of challenges are in the course and the skills you'll need to demonstrate, and some resources where you can acquire the necessary knowledge. The theme for this course is the .NET attributes. For the challenges, you'll work with some existing .NET attributes, but most of the challenges check your skills for creating and using custom attributes. Here's a breakdown of the challenges. You start out gently, we check your aptitude for applying the .NET ObsoleteAttribute. Next, you'll create a custom attribute. For the third challenge, we look at adding parameters and properties to the custom attributes. .NET attributes support positional and name parameters. Positional parameters are required. Name parameters are optional. In this third challenge, you will create name parameters. For another task, you will create positional parameters. This is done by creating a public constructor for the class. The fifth challenge looks at attribute targets. By default, an attribute can be applied to any target, like a class, an interface, methods, properties, events, and more. There are reasons why you might want to limit the targets for .NET attributes, so that's the gist of this challenge. Finally, there is a reflection challenge where you write reflection code to read values from the custom attribute. That's a breakdown of the challenges. Now you have an idea what skills you need to know to resolve the challenges. To find out more about .NET attributes, check out the .NET SDK Advanced Exploration Attributes Course. In that course, I show you how to use predefined standard .NET attributes as well as how to create custom attributes on your own. There is an example in the course using custom attributes to control a JSON serializer and another example that creates a unit test framework. Most of the challenges in this course focus on building custom attributes, but the last challenge has you writing reflection code to examine class instances for a unit test attribute. Therefore, it is a good idea for you to have some knowledge of that topic. You'll find some coverage of reflection in my attributes course.