HttpRequestBase的一个属性RequestContext,如下代码:
//
// 摘要:
// 在派生类中重写时,获取当前请求的 System.Web.Routing.RequestContext 实例。
//
// 返回结果:
// 当前请求的 System.Web.Routing.RequestContext 实例。对于非路由请求,返回的 System.Web.Routing.RequestContext
// 对象为空。
//
// 异常:
// System.NotImplementedException:
// 始终为 。
public virtual RequestContext RequestContext { get; internal set; }
其中set为internal,无法进行赋值。
在一个学习资料里看到:
创建HttpContextBase的对象为context,然后有一句代码:
RequestContext requestContext = new RequestContext(context, routeData);
context.Request.RequestContext = requestContext;
就这样给HttpRequestBase的属性RequestContext的对象进行了赋值。但是这么写的时候,报错:由于 set 访问器不可访问,因此不能在此上下文中使用属性或索引器“System.Web.HttpRequestBase.RequestContext”。
这样是什么原因呢?为什么他写的可以,我用的时候不一样呢?
只有程序集内可以访问,所以你没权限赋值
我是按照别人的代码在进行练习,但是他的代码就是直接这么赋值的啊?是不是我有可能哪里搞错了?
@1sa2sa: 你看下他的set访问器被加了修饰符,你查下这个修饰符干嘛的
@灬丶: 我看过了,这是元数据。
别人用的net framework4.5 你用的应该是4.0