I couldn't understand the following code specialy underlined area Code: using System; namespace overriding_method { public class MyClass { public virtual void MethodA[U]<T>[/U](T arg) [U]where T : new()[/U] { } } public class YClass : MyClass { public override void MethodA<T>(T arg) { T obj = new T(); } } class Program { static void Main(string[] args) { } } } Thanks & Regards Shahzad