C产品在市场上有哪些独特优势?

2026-04-29 01:522阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计294个文字,预计阅读时间需要2分钟。

C产品在市场上有哪些独特优势?

为什么必须从A继承的类P的类型参数T的通用约定,第一次调用成功但第二次调用失败,注解中详细说明了类型转换错误:`abstract class A { } static class S { public static void DoFirst(A argument); }`

为什么,对于“必须从A继承”的类P的类型参数T的通用约束,第一次调用成功但第二次调用失败,注释中详细说明了类型转换错误:

C产品在市场上有哪些独特优势?

abstract class A { } static class S { public static void DoFirst(A argument) { } public static void DoSecond(ICollection<A> argument) { } } static class P<T> where T : A, new() { static void Do() { S.DoFirst(new T()); // this call is OK S.DoSecond(new List<T>()); // this call won't compile with: /* cannot convert from 'System.Collections.Generic.List<T>' to 'System.Collections.Generic.ICollection<A>' */ } }

通用约束不应该确保List< T>.确实是ICollection< A>?

这是C#在泛型类型上缺少 covariance的一个例子(C#确实支持数组协方差). C#4将在接口类型上添加此功能,并且还将更新多个BCL接口类型以支持它.

请参阅C# 4.0: Covariance and Contravariance:

In this article I’ll try to cover one of the C# 4.0 innovations. One of the new features is covariance and contravariance on type parameters that is now supported by generic delegates and generic interfaces. First let’s see what does these words mean

本文共计294个文字,预计阅读时间需要2分钟。

C产品在市场上有哪些独特优势?

为什么必须从A继承的类P的类型参数T的通用约定,第一次调用成功但第二次调用失败,注解中详细说明了类型转换错误:`abstract class A { } static class S { public static void DoFirst(A argument); }`

为什么,对于“必须从A继承”的类P的类型参数T的通用约束,第一次调用成功但第二次调用失败,注释中详细说明了类型转换错误:

C产品在市场上有哪些独特优势?

abstract class A { } static class S { public static void DoFirst(A argument) { } public static void DoSecond(ICollection<A> argument) { } } static class P<T> where T : A, new() { static void Do() { S.DoFirst(new T()); // this call is OK S.DoSecond(new List<T>()); // this call won't compile with: /* cannot convert from 'System.Collections.Generic.List<T>' to 'System.Collections.Generic.ICollection<A>' */ } }

通用约束不应该确保List< T>.确实是ICollection< A>?

这是C#在泛型类型上缺少 covariance的一个例子(C#确实支持数组协方差). C#4将在接口类型上添加此功能,并且还将更新多个BCL接口类型以支持它.

请参阅C# 4.0: Covariance and Contravariance:

In this article I’ll try to cover one of the C# 4.0 innovations. One of the new features is covariance and contravariance on type parameters that is now supported by generic delegates and generic interfaces. First let’s see what does these words mean