Preview course for free

Preview this course for free.

To preview this course, you will need to create a free account. Once you register, we'll send
you right along and you will get access to the first task in the course (day 1).


No credit card or payment info is required. Existing users, sign-in to begin.

Preview this course for free.

To preview this course, you will need to create a free account. Once you register, we'll send
you right along and you will get access to the first task in the course (day 1).


No credit card or payment info is required. Existing users, sign-in to begin.

Take a class, join the instructor-supported online learning revolution.

Choose a class date below to get started. Every class comes with a complimentary subscription which begins immediately even if your class doesn't start for a week or two. You can be learning in just minutes.

Upcoming classes: Choose this date >>


Take this course.

You'll need to get a subscription to join this course.
Our subscriptions start at $29.

View your subscription options
Course Summary

The In-Depth Object-Oriented Programming in C# course is perfect for developers coming to C# without a strong object-oriented (OO) background. Perhaps you've dabbled in C# code or had moderate success writing procedural code in C#. Now you want to start programming C# "the right way". Then this class is for you.

Similar to our more light-weight Beginning Object-Oriented Programming in C# course, we start assuming you know the basics of C# (loops, variables, methods, etc) while providing a little more foundation C# knowledge than the beginning class.

We introduce you to consuming and designing classes in C#. We move on to some of the concepts that make C# special (properties, assemblies). While the beginning course finishes out the class by covering interfaces and generics, this one digs deeper to give you a very solid OO foundation in C#. You will learn how to combine attributes and reflection to build extensible applications. Finally, we discuss how to model reference-type semantics (a class concept in C#) with nullable value types.

Course Objectives

After completing this course, you should be proficient in the following:

  • Create instances of a class.
  • Use Visual Studio to edit and run code.
  • Call code in another assembly.
  • Define your own classes.
  • Mark members as either private or public.
  • Define an automatic property.
  • Create a class library.
  • Recognize the difference between reference and value types.
  • Refactor existing code to use an interface.
  • Define generic methods and classes.
Edit video url:

Edit Course Objectives











Change objectives

Tasks

Search tasks

tasks found
Save
Preview this task « This task is available right now for free, no payment info required.
Compile a command-line program
4 Activities | Time: 17m | Types: Article (1) | Practice (1) | Video (2)
Call code in other assemblies
8 Activities | Types: Article (2) | Practice (3) | Video (3)
Organize your code into classes
13 Activities | Time: 1h 49m | Types: Article (2) | Blog (4) | Practice (4) | Video (3)
Simplify your classes with properties
13 Activities | Time: 51m | Types: Article (3) | Blog (2) | Practice (3) | Video (5)
Create a class library
7 Activities | Time: 30m | Types: Article (2) | Blog (3) | Practice (1) | Video (1)
Simplify your code with enums
5 Activities | Time: 38m | Types: Article (2) | Practice (1) | Video (2)
Use structs in your type library
5 Activities | Time: 47m | Types: Article (2) | Blog (1) | Practice (2)
Reuse code with object inheritance
17 Activities | Time: 1h 42m | Types: Article (6) | Blog (5) | Practice (3) | Video (3)
Reuse code with interfaces
6 Activities | Time: 43m | Types: Article (3) | Blog (1) | Practice (1) | Video (1)
Reuse code with generics
11 Activities | Time: 1h 4m | Types: Article (4) | Blog (1) | Practice (5) | Video (1)
Work with collections of items
10 Activities | Time: 1h 11m | Types: Article (5) | Practice (3) | Video (2)
Use nullable types in your type library
5 Activities | Time: 21m | Types: Blog (2) | Practice (1) | Video (2)
Customize code's behavior with attributes
11 Activities | Time: 1h 3m | Types: Article (8) | Practice (3)
Build an extensible application with reflection
9 Activities | Types: Article (5) | Practice (2) | Run (1) | Video (1)