14.4.3 Function member invocation

运行时函数成员调用过程
本文详细介绍了在运行时如何调用特定的函数成员的过程。包括静态函数成员和实例函数成员的调用流程,以及在不同情况下如何确定要调用的函数成员实现。
This section describes the process that takes place at run-time to invoke a
particular function member. It is
assumed that a compile-time process has already determined the particular
member to invoke, possibly by
applying overload resolution to a set of candidate function members.
For purposes of describing the invocation process, function members are
divided into two categories:
?Static function members. These are static methods, instance constructors,
static property accessors, and
user-defined operators. Static function members are always non-virtual.
?Instance function members. These are instance methods, instance property
accessors, and indexer
accessors. Instance function members are either non-virtual or virtual, and
are always invoked on a
particular instance. The instance is computed by an instance expression,
and it becomes accessible
within the function member as this (?4.5.7).
The run-time processing of a function member invocation consists of the
following steps, where M is the
function member and, if M is an instance member, E is the instance
expression:
?If M is a static function member:
The argument list is evaluated as described in ?4.4.1.
M is invoked.
?If M is an instance function member declared in a value-type:
E is evaluated. If this evaluation causes an exception, then no further
steps are executed.
If E is not classified as a variable, then a temporary local variable of
E?s type is created and the value of E is
assigned to that variable. E is then reclassified as a reference to that
temporary local variable. The temporary
variable is accessible as this within M, but not in any other way. Thus,
only when E is a true variable is it
possible for the caller to observe the changes that M makes to this.
The argument list is evaluated as described in ?4.4.1.
M is invoked. The variable referenced by E becomes the variable referenced
by this.
?If M is an instance function member declared in a reference-type:
E is evaluated. If this evaluation causes an exception, then no further
steps are executed.
The argument list is evaluated as described in ?4.4.1.
If the type of E is a value-type, a boxing conversion (?1.3.1) is
performed to convert E to type object, and
E is considered to be of type object in the following steps. [Note: In this
case, M could only be a member of
System.Object. end note]
The value of E is checked to be valid. If the value of E is null, a
System.NullReferenceException is
thrown and no further steps are executed.
The function member implementation to invoke is determined:
Chapter 14 Expressions
137
?If the compile-time type of E is an interface, the function member to
invoke is the
implementation of M provided by the run-time type of the instance
referenced by E. This
function member is determined by applying the interface mapping rules (?0.4.
2) to determine
the implementation of M provided by the run-time type of the instance
referenced by E.
?Otherwise, if M is a virtual function member, the function member to
invoke is the
implementation of M provided by the run-time type of the instance
referenced by E. This
function member is determined by applying the rules for determining the
most derived
implementation (?7.5.3) of M with respect to the run-time type of the
instance referenced by E.
?Otherwise, M is a non-virtual function member, and the function member to
invoke is M itself.
The function member implementation determined in the step above is invoked.
The object referenced by E
becomes the object referenced by this.
我需要你给我提供的一个完整的python请求例子,一下是抓包数据 POST https://api.weibo.cn/2/video/tiny_video_info_show?networktype=wifi&launchid=10000365--x&is_pad=true&orifid=102803%24%24100103type%3D1%26q%3D%E8%93%9D%E5%AD%A9%E9%89%B4%E8%B5%8F%26t%3D0%24%241076031005696190&uicode=10001054&ul_hid=adf0a96f-7fcb-494b-90d7-eeccef29ed9d&ul_sid=adf0a96f-7fcb-494b-90d7-eeccef29ed9d&moduleID=715&checktoken=13cb57ad278a5e744228ceff9c03d98d&wb_version=6752&source_code=10000003_100103type%3D1%26q%3D%E8%93%9D%E5%AD%A9%E9%89%B4%E8%B5%8F%26t%3D0&c=android&s=74c9e9f7&ft=0&ua=HUAWEI-TAS-AN00__weibo__14.4.3__android__android9&wm=20005_0002&aid=01A0Xaqj63v_-wcWvt5g1ByJSHgnkXWvgaDLfHUuvLp2OYkEQ.&did=0f607264fc6318a92b9e13c65db7cd3cbda428dd&fid=232312&v_f=2&v_p=90&from=10E4395010&gsid=_2AkMf43duf8NhqwFRmvsUzWLka4l1zgnEieKpv4a1JRM3HRl-wT9xqhYCtRV6XNyh2DytO6OGewnrC0-A2tZs7e94cm4M&lang=zh_CN&lfid=1076031005696190&skin=default&oldwm=20005_0002&sflag=1&oriuicode=10000511_10000003_10000198&luicode=10000198&android_id=f56d53edbaf01196&ul_ctime=1757412163502&cum=EE84E039 HTTP/1.1 Host: api.weibo.cn Connection: keep-alive Content-Length: 4716 X-Engine-Type: 114.0.5735.246 User-Agent: TAS-AN00_9_weibo_14.4.3_android X-Log-Uid: 2023119674241 X-Sessionid: b9f645fb-f151-4a72-9aef-bdb30ee0a580 X-Validator: xrxuuisa4mRi/Zs5qufSBLSH3PRBAEFsrgK+hGPaxf8= Content-Type: multipart/form-data;boundary=------------1757412163516 Accept-Encoding: gzip, deflate, br --------------1757412163516 Content-Disposition: form-data; name="networktype" Content-Type: text/plain; charset=utf-8 Content-Length: 4 wifi --------------1757412163516 Content-Disposition: form-data; name="orifid" Content-Type: text/plain; charset=utf-8 Content-Length: 57 102803$$100103type=1&q=蓝孩鉴赏&t=0$$1076031005696190 --------------1757412163516 Content-Disposition: form-data; name="uicode" Content-Type: text/plain; charset=utf-8 Content-Length: 8 10001054 --------------1757412163516 Content-Disposition: form-data; name="moduleID" Content-Type: text/plain; charset=utf-8 Content-Length: 3 715 --------------1757412163516 Content-Disposition: form-data; name="checktoken" Content-Type: text/plain; charset=utf-8 Content-Length: 32 13cb57ad278a5e744228ceff9c03d98d --------------1757412163516 Content-Disposition: form-data; name="wb_version" Content-Type: text/plain; charset=utf-8 Content-Length: 4 6752 --------------1757412163516 Content-Disposition: form-data; name="source_code" Content-Type: text/plain; charset=utf-8 Content-Length: 40 10000003_100103type=1&q=蓝孩鉴赏&t=0 --------------1757412163516 Content-Disposition: form-data; name="c" Content-Type: text/plain; charset=utf-8 Content-Length: 7 android --------------1757412163516 Content-Disposition: form-data; name="s" Content-Type: text/plain; charset=utf-8 Content-Length: 8 74c9e9f7 --------------1757412163516 Content-Disposition: form-data; name="ft" Content-Type: text/plain; charset=utf-8 Content-Length: 1 0 --------------1757412163516 Content-Disposition: form-data; name="ua" Content-Type: text/plain; charset=utf-8 Content-Length: 49 HUAWEI-TAS-AN00__weibo__14.4.3__android__android9 --------------1757412163516 Content-Disposition: form-data; name="wm" Content-Type: text/plain; charset=utf-8 Content-Length: 10 20005_0002 --------------1757412163516 Content-Disposition: form-data; name="aid" Content-Type: text/plain; charset=utf-8 Content-Length: 50 01A0Xaqj63v_-wcWvt5g1ByJSHgnkXWvgaDLfHUuvLp2OYkEQ. --------------1757412163516 Content-Disposition: form-data; name="did" Content-Type: text/plain; charset=utf-8 Content-Length: 40 0f607264fc6318a92b9e13c65db7cd3cbda428dd --------------1757412163516 Content-Disposition: form-data; name="ext" Content-Type: text/plain; charset=utf-8 Content-Length: 221 {"comment_count":1,"video_duration":30,"author_uid":1005696190,"mlevel":0,"part":"rank_list_interact","media_id":5208520793456694,"mid":5208521138507236,"oid":"1034:5208520793456694","isBigFans":false,"uicode":"10001054"} --------------1757412163516 Content-Disposition: form-data; name="fid" Content-Type: text/plain; charset=utf-8 Content-Length: 6 232312 --------------1757412163516 Content-Disposition: form-data; name="v_f" Content-Type: text/plain; charset=utf-8 Content-Length: 1 2 --------------1757412163516 Content-Disposition: form-data; name="v_p" Content-Type: text/plain; charset=utf-8 Content-Length: 2 90 --------------1757412163516 Content-Disposition: form-data; name="from" Content-Type: text/plain; charset=utf-8 Content-Length: 10 10E4395010 --------------1757412163516 Content-Disposition: form-data; name="gsid" Content-Type: text/plain; charset=utf-8 Content-Length: 94 _2AkMf43duf8NhqwFRmvsUzWLka4l1zgnEieKpv4a1JRM3HRl-wT9xqhYCtRV6XNyh2DytO6OGewnrC0-A2tZs7e94cm4M --------------1757412163516 Content-Disposition: form-data; name="lfid" Content-Type: text/plain; charset=utf-8 Content-Length: 16 1076031005696190 --------------1757412163516 Content-Disposition: form-data; name="skin" Content-Type: text/plain; charset=utf-8 Content-Length: 7 default --------------1757412163516 Content-Disposition: form-data; name="oldwm" Content-Type: text/plain; charset=utf-8 Content-Length: 10 20005_0002 --------------1757412163516 Content-Disposition: form-data; name="oriuicode" Content-Type: text/plain; charset=utf-8 Content-Length: 26 10000511_10000003_10000198 --------------1757412163516 Content-Disposition: form-data; name="luicode" Content-Type: text/plain; charset=utf-8 Content-Length: 8 10000198 --------------1757412163516 Content-Disposition: form-data; name="android_id" Content-Type: text/plain; charset=utf-8 Content-Length: 16 f56d53edbaf01196 --------------1757412163516 Content-Disposition: form-data; name="session_id" Content-Type: text/plain; charset=utf-8 Content-Length: 20 -8750690510388968590 --------------1757412163516 Content-Disposition: form-data; name="ul_ctime" Content-Type: text/plain; charset=utf-8 Content-Length: 13 1757412163509 --------------1757412163516--
09-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值