2016-05-11 11 views
0

リクエストがControllerクラスのSystem.Web.Mav名前空間内にある場合は、 なぜフル機能で参照できないのですか修飾名reference Request.Browser完全修飾名のMVC

System.Web.Mvc.Controller.Request.Browser` 

namespace System.Web.Mvc 
{ 
    public abstract class Controller : ControllerBase, IActionFilter, IAuthorizationFilter, IDisposable, IExceptionFilter, IResultFilter, IAsyncController, IController, IAsyncManagerContainer 
    { 
     protected Controller(); 
     .... 
     public HttpRequestBase Request { get; } 
     .... 
    } 
} 

私は、Microsoft Visual Studioの究極の2013とC# 感謝を使用しています!

答えて

2

このRequestプロパティは、インスタンスプロパティーがControllerであり、静的プロパティーではないためです。

public class MyController : Controller 
{ 
    public ActionResult MyAction() 
    { 
     //you can access this.Request.Browser 
     //because "this" gives an instance of Controller 

     //you can't use System.Web.Mvc.Controller.Request.Browser 
     //because "Request" is not a static property of "Controller" 
    } 
} 

はそれを簡単にするために 、このことを考慮してください。

class Person 
{ 
    public string Name { get; } 
} 

//Person.Name -> invalid, "Name" property is not static 
//new Person().Name -> valid, "Name" property is access via an instance of "Person" 
関連する問題