Generics in .net 2.0 : Using a Where class on a class defination : During the preparation for "Programing in C#" Certification from [this][1] book at objective 2.1 where the following code is given for Generic Types.

    class MyClass<T> where T:class,new()
    {
        public MyClass()
        {
            MyProperty = new T();
        }
        T MyProperty { get; set; }
    }
I know what generic type is and why we need it, but can any one explain this confusing code and how we can use this with any example.
  [1]: https://www.microsoftpressstore.com/store/exam-ref-70-483-programming-in-c-sharp-9780735676824