I was playing with a project. And the following line piqued my interest where Startup is a custom class
Microsoft.Owin.Hosting.WebApp.Start<Startup>(url);
And when I examine the class Startup, I've found out that it did not inherit from any class or interface. And after that I looked into WebApp.Start and there was no constraints on TStartup. So in place of Startup on the above line of code, I can even write int and it compiles just fine. However in runtime it gives the following error:
"The following errors occurred while attempting to load the app.\r\n - No 'Configuration' method was found in class 'System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.":""
So it requires a Configuration method which in fact exists in the original Startup class. Then my question is that why did they not use an interface with a Configuration method?