.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava

WBOY
リリース: 2016-06-07 15:19:29
オリジナル
1054 人が閲覧しました

委托中的协变与逆变 ( Covariance and Contravariance in Delegates ) 委托中的协变 1. 当委托方法的返回类型具有的派生程序比委托签名更大时,就称为协变委托方法。因为方法的返回类型比委托签名的返回类型更具体,所以可对其进行隐式转换,这样该方法就

委托中的协变与逆变Covariance and Contravariance in Delegates

委托中的协变

1.       当委托方法的返回类型具有的派生程序比委托签名更大时,就称为协变委托方法。因为方法的返回类型比委托签名的返回类型更具体,所以可对其进行隐式转换,这样该方法就可用作委托。

2.       协变使得创建可被类和派生类同时使用的委托方法成为可能。

.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contravaclass Animals ...{ }
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
class Dogs : Animals ...{ }
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
class Program
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
...{
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava    
public delegate Animals HandlerMethod();
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava    
public static Animals FirstHandler() ...return null; }
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava    
public static Dogs SecondHandler() ...return null; }
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava    
static void Main()
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava    
...{
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava        HandlerMethod handler1 
= FirstHandler;
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava        HandlerMethod handler2 
= SecondHandler;
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava    }

.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava}

.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava


委托中的逆变

3.       当委托方法签名具有一个或多个参数,并且这些参数的类型派生自方法参数的类型时,就称为逆变委托方法。因为委托方法签名参数比方法参数更具体,因此可在传递给处理程序方法时对他们隐式转换。

4.       这样逆变使得大量类使用的更通用的委托方法的创建变得更简单。

.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contravaclass Animals ...{ }
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
class Dogs : Animals ...{ }
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
class Program
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
...{
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava    
public delegate void HandlerMethod(Dogs dog);
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava    
public static void FirstHandler(Animals elephant) ...return null; }
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava    
public static void SecondHandler(Dogs adog) ...return null; }
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava    
static void Main(string[] arg)
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava    
...{
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava        HandlerMethod handler1 
= FirstHandler;
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava        HandlerMethod handler2 
= SecondHandler;
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava    }

.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava
.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava}

.Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava


 
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!