I was learning MVC WebAPI and I was following a tutorial and everything was going fine untill I saw the following:
namespace HelloWebAPI.Controllers
{
using HelloWebAPI.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
public class ProductsController : ApiController
{}
What we usually do is that we add the resources\scope in the beginning like this:
using HelloWebAPI.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
namespace HelloWebAPI.Controllers
{
public class ProductsController : ApiController
{}
My supervisor told me that it is okay and it is supposed to be okay, because it is an official MS tutorial on the subject.
** What I want to know that why this doesn't matter, so that I have a better understanding about it? **
Answer
There is a difference, small but there is.
It's all about the sequence of name resolution made by compiler.
The good answer on subject you can find here:
Should Usings be inside or outside the namespace
In practise in first case compiler, in case could not find a type information immediately,
would search among namespaces declared inside using
. In second case, instead, would search first among the actual namespace and after only go to search inside declared outside.
No comments:
Post a Comment