Home > Database > Mysql Tutorial > .Net 2.0 新功能:委托中的协变与逆变(Covariance and Contrava

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

WBOY
Release: 2016-06-07 15:19:29
Original
1070 people have browsed it

委托中的协变与逆变 ( 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


 
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template