精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

C#泛型方法的類(lèi)型推斷

開(kāi)發(fā) 后端
這里所謂的“泛型方法的類(lèi)型推斷”,指的是根據(jù)已有的方法實(shí)參的類(lèi)型,推斷出泛型方法的類(lèi)型實(shí)參。例如一個(gè)泛型方法 void Method<T>(T[] args),如果我給出方法實(shí)參類(lèi)型是 int[],那么希望能夠推斷出 T = int。

 這個(gè)問(wèn)題是我在測(cè)試上一篇隨筆《C# 使用 Binder 類(lèi)自定義反射》中的類(lèi)時(shí)發(fā)現(xiàn)的,當(dāng)時(shí)為了能夠讓 PowerBinder 支持泛型方法綁定,完成了一些簡(jiǎn)單的類(lèi)型推斷工作,但是它只能支持直接使用泛型參數(shù) T 作為參數(shù)類(lèi)型,對(duì)于 T[],IList<T> 這種復(fù)雜一些的情況是不能處理的。

或者舉個(gè)復(fù)雜點(diǎn)的例子,對(duì)于下面的泛型方法定義:

  1. void Method<T>(IList<T> a, params T[] args); 

再給出參數(shù)類(lèi)型為:

  1. typeof(IList<int>), typeof(int[]) } 
  2. typeof(IList<int[]>), typeof(int[]) } 
  3. typeof(IList<int[]>), typeof(int[][]) } 

我希望能夠正確的推斷出 T 的類(lèi)型分別為 int、int[] 和 int[]。

后來(lái)參考了《CSharp Language Specification》v5.0 中 7.5.2 類(lèi)型推斷 一節(jié),規(guī)范中給出了 C# 中進(jìn)行類(lèi)型推斷的兩階段算法,算法分為兩階段主要是為了支持實(shí)參表達(dá)式和匿名函數(shù)的推斷,而我的需求則要簡(jiǎn)單很多,只要支持普通的參數(shù)就可以了。又參考了 7.5.2.13 方法組轉(zhuǎn)換的類(lèi)型推斷 一節(jié),最終得到了下面的簡(jiǎn)化算法。

首先對(duì)幾個(gè)名詞進(jìn)行區(qū)分:類(lèi)型形參、類(lèi)型實(shí)參、方法形參和方法實(shí)參。
對(duì)于泛型方法定義 void Method<T>(T a),其中的 T 是類(lèi)型形參,T a 是方法形參。
對(duì)于相應(yīng)的封閉泛型方法的調(diào)用 Method<int>(10),其中的 int 就是類(lèi)型實(shí)參,10 就是方法實(shí)參。

泛型方法的類(lèi)型推斷,從形式上來(lái)定義,就是對(duì)給定泛型方法 Tr M<X1, …, Xn>(T1 x1, …, Tm xm),其中 Tr 是返回值,X1, …, Xn 是類(lèi)型形參,T1, …, Tm 是方法形參,和一個(gè)委托類(lèi)型 D(U1 x1, …, Um xm),找到一組類(lèi)型實(shí)參 S1, …, Sn,使表達(dá)式 M<S1, …, Sn> 與 D 兼容(D 可由 M<S1, …, Sn> 隱式轉(zhuǎn)換而來(lái))。

該算法首先認(rèn)為所有 Xi 均未固定(即沒(méi)有預(yù)設(shè)值),并從 D 的每個(gè)實(shí)參類(lèi)型 Ui 到 M 的對(duì)應(yīng)形參類(lèi)型 Ti 進(jìn)行下限推斷(前提是 Ti 包含類(lèi)型形參,即 ContainsGenericParameters == true),但是如果 xi 為 ref 或 out 形參,則從 Ui 到 Ti 進(jìn)行精確推斷。如果沒(méi)有為任何 Xi 找到界限,則類(lèi)型推斷將失敗。否則,所有將 Xi 均固定到對(duì)應(yīng)的 Si,它們是類(lèi)型推斷的結(jié)果。下面給出詳細(xì)的推斷算法,這里的算法經(jīng)過(guò)了我的修改,與原規(guī)范并不完全相同。

1. 下限推斷

這里的下限推斷指的是對(duì)于給定的實(shí)參類(lèi)型 U,找到合適的形參類(lèi)型 V,使得 V.IsImplicitFrom(U)。

按如下所述從類(lèi)型 U 到類(lèi)型 V 進(jìn)行下限推斷:

  1. 如果 V 是 Xi 之一,則將 U 添加到 Xi 的下限界限集中。
  2. 否則,如果 V 為 V1?  類(lèi)型,而 U 為 U1? 類(lèi)型,則從 U1 到 V1 進(jìn)行下限推斷。
  3. 否則,如果 V 是數(shù)組類(lèi)型 V1[…],U 是具有相同秩的數(shù)組類(lèi)型 U1[…],或者 V 是一個(gè) IEnumerable<V1>、ICollection<V1> 或 IList<V1>,U 是一維數(shù)組類(lèi)型 U1[],則從 U1 到 V1 進(jìn)行下限推斷。
  4. 否則,如果 V 是構(gòu)造類(lèi)、結(jié)構(gòu)、接口或委托類(lèi)型 C<V1…Vk>,并且存在唯一類(lèi)型 C<U1…Uk> ,使 U 等于、(直接或間接)繼承自或者(直接或間接)實(shí)現(xiàn) C<U1…Uk>(“唯一性”限制表示對(duì)于 interface C<T>{} class U: C<X>, C<Y>{},不進(jìn)行從 U 到 C<T>  的推斷,因?yàn)?U1 可以是 X 或 Y。),則從每個(gè) Ui 到對(duì)應(yīng)的 Vi 進(jìn)行推斷,推斷依賴于 C 的第 i 個(gè)類(lèi)型參數(shù):
    • 如果該參數(shù)是協(xié)變的,則進(jìn)行下限推斷。
    • 如果該參數(shù)是逆變的,則進(jìn)行上限推斷。
    • 如果該參數(shù)是固定的,則進(jìn)行精確推斷。
  5. 否則,不進(jìn)行任何推斷。

2. 精確推斷

這里的精確推斷指的是對(duì)于給定的實(shí)參類(lèi)型 U,找到合適的形參類(lèi)型 V,使得 U == V。

按如下所述從類(lèi)型 U 到類(lèi)型 V 進(jìn)行精確推斷:

  1. 如果 V 是 Xi 之一,則將 U 添加到 Xi 的精確界限集中。
  2. 否則,通過(guò)檢查是否存在以下任何一種情況來(lái)確定集合 V1…Vk  和 U1…Uk :
    • V 是數(shù)組類(lèi)型 V1[…] , U 是具有相同秩的數(shù)組類(lèi)型 U1[…]。
    • V 是類(lèi)型 V1?,U 是類(lèi)型 U1?。
    • V 是構(gòu)造類(lèi)型 C<V1…Vk> 并且 U 是構(gòu)造類(lèi)型 C<U1…Uk> 。
    如果存在以上任意情況,則從每個(gè) Ui 到對(duì)應(yīng)的 Vi 進(jìn)行精確推斷。
  3. 否則,不進(jìn)行任何推斷。

3. 上限推斷

這里的上限推斷指的是對(duì)于給定的實(shí)參類(lèi)型 U,找到合適的形參類(lèi)型 V,使得 U.IsImplicitFrom(V)。

按如下所述從類(lèi)型 U 到類(lèi)型 V 進(jìn)行上限推斷:

  1. 如果 V 是 Xi 之一,則將 U 添加到 Xi 的上限界限集中。
  2. 否則,如果 V 為 V1?  類(lèi)型,而 U 為 U1? 類(lèi)型,則從 U1 到 V1 進(jìn)行上限推斷。
  3. 否則,如果 V 是數(shù)組類(lèi)型 V1[…],U 是具有相同秩的數(shù)組類(lèi)型 U1[…],或者 V 是一維數(shù)組類(lèi)型 V1[],U 是一個(gè) IEnumerable<U1>、ICollection<U1> 或 IList<U1>,則從 U1 到 V1 進(jìn)行上限推斷。
  4. 否則,如果 U 是構(gòu)造類(lèi)、結(jié)構(gòu)、接口或委托類(lèi)型 C<U1…Uk>,V 是等于、(直接或間接)繼承自或者(直接或間接)實(shí)現(xiàn)唯一類(lèi)型 C<V1…Vk> 的類(lèi)、結(jié)構(gòu)、接口或委托類(lèi)型(“唯一性”限制表示如果我們有 interface C<T>{} class V<Z>: C<X<Z>>, C<Y<Z>>{},則不進(jìn)行從 C<U1> 到 V<Q> 的推斷。也不進(jìn)行從 U1 到 X<Q> 或 Y<Q> 的推斷。),則從每個(gè) Ui 到對(duì)應(yīng)的 Vi 進(jìn)行推斷,推斷依賴于 C 的第 i 個(gè)類(lèi)型參數(shù):
    • 如果該參數(shù)是協(xié)變的,則進(jìn)行上限推斷。
    • 如果該參數(shù)是逆變的,則進(jìn)行下限推斷。
    • 如果該參數(shù)是固定的,則進(jìn)行精確推斷。
  5. 否則,不進(jìn)行任何推斷。

4. 固定

固定是為了根據(jù)之前的算法得到的界限集,推斷出類(lèi)型參數(shù)的合適的值。

具有界限集的類(lèi)型變量 Xi 按如下方式固定:

  1. 候選類(lèi)型集 Ui 是在 Xi 的界限集中的所有類(lèi)型的集合。
  2. 然后我們依次檢查 Xi 的每個(gè)界限:對(duì)于 Xi 的每個(gè)精確界限 U,將與 U 不同的所有類(lèi)型 Ui 都從候選集中移除(要求 U == Ui)。對(duì)于 Xi 的每個(gè)下限 U,將不存在從 U 進(jìn)行的隱式轉(zhuǎn)換的所有類(lèi)型 Ui 都從候選集中移除(要求 Ui.IsImplicitFrom(U))。對(duì)于 Xi 的每個(gè)上限 U,將不存在從其到 U 進(jìn)行的隱式轉(zhuǎn)換的所有類(lèi)型 Ui 都從候選集中移除(要求 U.IsImplicitFrom(Ui))。
  3. 如果在剩下的候選類(lèi)型 Ui 中,存在唯一類(lèi)型 V,該類(lèi)型可由其他所有候選類(lèi)型經(jīng)隱式轉(zhuǎn)換而來(lái),則將 Xi 固定到 V(也就是說(shuō),要求 V 是其中最通用的類(lèi)型)。
  4. 否則,類(lèi)型推斷將失敗。

以上就是泛型方法的類(lèi)型推斷算法,其中只考慮了方法實(shí)參和方法形參一一對(duì)應(yīng)的情況,如果需要處理 params T[] 參數(shù),則需要對(duì)最后一個(gè)參數(shù)進(jìn)行特殊處理,并分別使用 T 和 T[] 進(jìn)行一次類(lèi)型推斷。做兩次類(lèi)型推斷,就是為了判斷是否是方法的展開(kāi)形式的調(diào)用。

或者說(shuō),對(duì)于泛型方法定義

  1. void Method<T>(T a, params T[] args); 

如果參數(shù)為 { typeof(int), typeof(int[]) } 和 { typeof(nt[]), typeof(int[]) },雖然 T[] 對(duì)應(yīng)的實(shí)參是相同的,但推斷出的 T 卻是不同的,這就需要利用兩次類(lèi)型推斷來(lái)處理。

這個(gè)算法的實(shí)現(xiàn)加上注釋大概有 500 多行,這里就不再貼出,基本就是按照上面的 4 步來(lái)的,只是在一些細(xì)節(jié)上采用了更高效的做法。所有源碼可以見(jiàn)這里

原文鏈接:http://www.cnblogs.com/cyjb/archive/2013/03/19/GenericArgumentsInferences.html

【編輯推薦】

責(zé)任編輯:彭凡 來(lái)源: 博客園
相關(guān)推薦

2009-08-24 14:51:25

C# 泛型泛型類(lèi)型

2009-08-24 14:20:13

C# 強(qiáng)制類(lèi)型轉(zhuǎn)換

2009-08-24 16:19:42

C# 泛型方法

2009-08-24 15:28:19

C# 泛型方法

2009-06-24 10:25:25

C#泛型

2009-08-24 14:43:35

C# 泛型

2009-08-26 09:36:03

C#泛型

2009-08-19 15:08:30

C#泛型

2009-08-24 13:52:04

C# 泛型約束

2009-08-25 13:57:09

C#泛型集合類(lèi)型

2014-04-15 16:01:00

Java8泛型

2009-09-01 16:14:11

C#泛型

2009-08-24 10:29:39

C# 泛型

2009-09-02 17:38:16

C#泛型支持

2009-08-24 18:15:24

C# Dictiona

2009-08-24 15:12:13

C# 泛型接口

2009-08-24 15:38:21

C# 泛型數(shù)組

2009-08-24 10:07:57

C#泛型處理

2009-08-24 17:27:05

C#泛型應(yīng)用

2009-08-24 17:58:19

C# 泛型集合
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

免费在线观看黄网站| 在线观看成人动漫| 91亚洲天堂| 国产成人小视频| 欧美一区二区三区……| 在线不卡av电影| 国产成人久久精品一区二区三区| 亚洲国产精品人人做人人爽| 欧美亚州在线观看| 99riav国产| 久久欧美肥婆一二区| 久久偷看各类女兵18女厕嘘嘘 | 综合另类专区| 亚洲人成在线观看一区二区| 九色综合婷婷综合| 国产欧美综合视频| 视频一区国产视频| 欧美精品18videos性欧| 国产精品麻豆免费版现看视频| 日韩一区二区三区精品| 欧美视频一区二区三区| 欧美爱爱视频免费看| 在线āv视频| 国产精品欧美久久久久一区二区| 国产一区二区免费电影| 国产伦精品一区二区三区四区| 亚洲在线观看| 孩xxxx性bbbb欧美| 91在线播放观看| 超碰成人久久| 亚洲精品91美女久久久久久久| 一级黄色片在线免费观看| 成年美女黄网站色大片不卡| 亚洲一区二区不卡免费| 8x8x华人在线| 嫩草香蕉在线91一二三区| 久久亚洲一区二区三区明星换脸 | 亚洲av毛片成人精品| 国产精品综合网| 国产日产久久高清欧美一区| 中文字幕精品视频在线观看| 国产精品女主播一区二区三区| 欧美激情a在线| 成年人av电影| 这里只有精品在线| 久久天天躁狠狠躁夜夜躁2014| 网站永久看片免费| 久久免费精品视频在这里| 一色桃子一区二区| www.黄色在线| 欧美三级三级| 最好看的2019年中文视频| 九九九视频在线观看| 免费观看久久av| 亚洲女人天堂成人av在线| 日本xxx在线播放| 欧美成a人免费观看久久| 欧美精品一区二区在线观看| 中国免费黄色片| 久久久久影视| 亚洲精品影视在线观看| 公侵犯人妻一区二区三区| 深爱激情久久| 色偷偷9999www| 私库av在线播放| 红桃视频国产精品| 午夜精品在线视频| 欧美a∨亚洲欧美亚洲| 免费视频一区| 国产精品激情av电影在线观看| 精品国产青草久久久久96| 蜜桃精品视频在线观看| 成人黄色午夜影院| 亚洲AV无码精品色毛片浪潮| 不卡的av中国片| 免费日韩电影在线观看| 99青草视频在线播放视| 综合久久综合久久| 男人添女人下部视频免费| 国内激情视频在线观看| 色综合久久88色综合天天6| 天天操天天摸天天爽| 久久电影天堂| 精品久久免费看| 性欧美丰满熟妇xxxx性久久久| 免费电影一区二区三区| www.午夜精品| 精品无码久久久久| 日韩国产在线一| 69174成人网| 日本天堂影院在线视频| 亚洲同性gay激情无套| 大陆av在线播放| 国产第一亚洲| 亚洲成年人影院在线| 91成人破解版| 精品成人免费| 国产精品视频精品| 人妻偷人精品一区二区三区| 中文一区二区在线观看| 男人的天堂avav| 国产一二三在线| 欧美色爱综合网| youjizz.com国产| 97精品一区| 7777免费精品视频| 国产免费久久久| 久久久久久久久久看片| 亚洲国产一二三精品无码| 欧美舌奴丨vk视频| 欧美成人bangbros| a资源在线观看| 在线看片一区| 91精品视频在线免费观看| 视频三区在线观看| 一区二区三区中文字幕在线观看| 黄色片一级视频| 成人三级av在线| 久久亚洲电影天堂| 亚洲精品毛片一区二区三区| 成人晚上爱看视频| 黄色一级视频播放| 四虎影视4hu4虎成人| 日韩电视剧在线观看免费网站| 欧美一区二区三区爽爽爽| 三级久久三级久久| 国产免费高清一区| 丝袜国产在线| 91精品午夜视频| 久久久久亚洲AV成人无在| 亚洲女人av| 精品欧美国产一区二区三区不卡| 大片免费在线看视频| 在线观看一区二区视频| 色噜噜在线观看| 在线看片一区| 国产精品免费一区二区三区在线观看 | 国产综合色视频| 日韩欧美精品久久| 丝袜美腿诱惑一区二区三区| 国产视频亚洲视频| 日本高清不卡码| 91女厕偷拍女厕偷拍高清| 蜜桃传媒一区二区三区| 国产精品毛片av| 欧美激情综合色| www.xxx国产| 一区二区欧美国产| avtt中文字幕| 亚洲激情网址| 久久久国产精品一区二区三区| 国内激情视频在线观看| 亚洲精品一区二区在线| 成人公开免费视频| 欧美国产日韩精品免费观看| 亚洲综合日韩欧美| 亚洲mv大片欧洲mv大片| 亚洲一区久久久| 青青草原国产在线| 亚洲精品国产美女| 欧美一级片免费在线观看| 久久蜜桃一区二区| 激情五月俺来也| 欧美一区亚洲| 国产欧美日韩综合一区在线观看 | 婷婷综合亚洲| 亚洲影院高清在线| av午夜在线观看| 国产视频久久久久久久| 波多野结衣一区二区三区在线| 国产精品欧美一级免费| 国产大学生av| 亚洲一区观看| 制服丝袜综合日韩欧美| aaa国产精品视频| 日韩av电影在线播放| 3d成人动漫在线| 欧美电影免费观看完整版| 日韩免费观看一区二区| 国产丝袜欧美中文另类| 手机在线免费毛片| 国产精品美女久久久| 在线精品亚洲一区二区| 国产成人一二| 国产精品入口免费视| 欧美激情黑人| 亚洲精品久久久久久久久久久久久| 亚洲av无码精品一区二区| 亚洲欧美偷拍卡通变态| 日韩人妻无码一区二区三区| 久久99国产精品久久99果冻传媒| 欧美成人高潮一二区在线看| 日韩精品不卡一区二区| 国产日韩欧美一区二区| 欧美日韩女优| 97视频免费在线观看| 在线视频婷婷| 亚洲激情在线观看| 国产男女猛烈无遮挡| 一本大道av一区二区在线播放| 精品自拍偷拍视频| 国产丝袜欧美中文另类| 91传媒理伦片在线观看| 奇米888四色在线精品| 久久综合久久网| 99精品美女| 欧美精品人人做人人爱视频| 亚洲精品a区| 国产美女精品视频| 波多野结衣亚洲一二三| 欧美激情视频免费观看| 欧美一级二级三级区| 亚洲男人第一av网站| 丰满人妻妇伦又伦精品国产| 欧美日韩精品专区| 秋霞精品一区二区三区| 一区二区三区国产精品| 小嫩苞一区二区三区| 久久久久综合网| 日本japanese极品少妇| 高清免费成人av| 中文字幕日韩久久| 日本系列欧美系列| 久久久久久久久久福利| 夜久久久久久| av网站手机在线观看| 国产精品theporn| 18视频在线观看娇喘| 欧美第十八页| 日韩欧美视频一区二区| 蜜桃精品wwwmitaows| 国产三级精品在线不卡| 一区二区三区国产好| 91亚洲午夜在线| 9999精品免费视频| 国产日韩在线看| 欧美亚洲福利| 国产精品一香蕉国产线看观看| 亚洲人免费短视频| 日韩美女av在线免费观看| 蜜桃麻豆av在线| 欧美一级视频一区二区| 午夜久久中文| 欧美一区二区三区精品电影| 激情都市亚洲| 国产精品video| av在线日韩| 国产精品自拍网| av在线国产精品| 51国偷自产一区二区三区的来源| 动漫一区二区三区| 99在线高清视频在线播放| 日韩欧美中文在线观看| 国产视频不卡| 日韩伦理一区二区三区| 欧美影视一区二区| 成人亚洲一区| 美女在线免费视频| 极品尤物久久久av免费看| 欧美网站免费观看| 日韩精品国产精品| 超碰成人在线播放| 国产精品亚洲人在线观看| 91传媒理伦片在线观看| www国产精品av| 国产传媒在线看| 亚洲人妖av一区二区| 国产精品成人久久| 欧美性xxxxx极品| 中文字幕在线播出| 91精品国产综合久久久久久| 免费国产精品视频| 亚洲男子天堂网| 免费在线观看黄色网| 欧美精品videos性欧美| 不卡一二三区| 亚洲在线第一页| 日日天天久久| 在线观看一区二区三区三州| 亚洲美洲欧洲综合国产一区| 欧美性猛交久久久乱大交小说 | 欧美精品欧美极品欧美激情| 久久―日本道色综合久久| 又色又爽的视频| 亚洲国产日韩精品| 91麻豆精品在线| 日韩美女视频在线| 激情视频在线观看免费| 久久久精品欧美| a日韩av网址| 亚洲最大的成人网| 中文精品一区二区| 水蜜桃在线免费观看| 久久久久久色| 18禁一区二区三区| 中文字幕在线一区免费| 99久在线精品99re8热| 欧美人狂配大交3d怪物一区| 污视频在线免费观看| 精品久久久av| 自拍偷自拍亚洲精品被多人伦好爽| 91久久久一线二线三线品牌| 亚州av一区| www.xxx麻豆| 久久99国产乱子伦精品免费| 老牛影视av老牛影视av| 亚洲一区国产视频| ,一级淫片a看免费| 亚洲免费精彩视频| av电影免费在线看| 成人免费淫片视频软件| 激情五月综合网| 少妇人妻在线视频| 国产成人在线观看免费网站| 激情无码人妻又粗又大| 色欧美乱欧美15图片| 日韩一区二区三区不卡| 久久五月天色综合| 亚洲精品成a人ⅴ香蕉片| 欧美日韩一区二区三区免费| 狠狠综合久久av一区二区老牛| 午夜av中文字幕| 中文字幕国产一区| 久久久久久久久久一级| 亚洲精选在线观看| 国产精品xx| 国产精品视频入口| 国产精品99一区二区| 亚洲第一区第二区第三区| 国产精品久久久久aaaa| 在线免费观看国产精品| 精品视频久久久久久久| 午夜激情电影在线播放| 久久资源亚洲| 久久成人精品| 91精品人妻一区二区三区蜜桃欧美| 亚洲国产成人精品视频| 亚洲男人天堂久久| 久久久久久久久电影| 亚洲一区二区三区四区电影| 成人免费在线视频播放| 国产成人精品影院| 精品少妇久久久| 精品第一国产综合精品aⅴ| 欧美色图天堂| 国产专区一区二区| 国产日产高清欧美一区二区三区| 800av在线播放| 欧美性极品xxxx娇小| 你懂的视频在线播放| 国产精品吹潮在线观看| 日本一区二区三区视频| 欧美大片久久久| 亚洲老妇xxxxxx| 亚洲av无码国产精品久久不卡| 久久久久久91| 亚洲宅男一区| 久久久久国产一区| 亚洲人成伊人成综合网小说| 亚洲成人精品女人久久久| 久久久久久久久久久免费| 欧亚精品一区| 亚洲精品高清无码视频| 亚洲日本在线a| 国产91免费看| 日韩免费黄色av| 91日韩视频| 丰满人妻一区二区三区免费视频棣| 午夜激情一区二区三区| 久青草国产在线| 91免费福利视频| 亚洲福利国产| 四虎成人免费影院| 日韩午夜中文字幕| 韩日毛片在线观看| 亚洲春色在线| 国产成人一级电影| 中文字幕在线天堂| 欧美成人精品在线| 日韩三级毛片| 爱爱爱爱免费视频| 亚洲电影中文字幕在线观看| 偷拍自拍在线视频| 91中文字幕在线观看| 中文在线一区| 亚洲一级二级片| 日韩av网址在线| 国产精品欧美一区二区三区不卡| 欧美不卡在线播放| 国产精品久99| 桃花色综合影院| 91精品国产一区二区三区动漫| 午夜亚洲精品| 欧美人妻一区二区| 这里只有精品视频在线| www.亚洲一二| 99热一区二区| 色老汉一区二区三区| 精精国产xxxx视频在线中文版| 亚洲国产欧洲综合997久久|