c#中的协变与逆变

作者:小菜 更新时间:2025-03-16 点击数:
简介:首先我们看一下msdn上关于这两个概念的说明:协变允许方法具有的派生返回类型比委托中定义的更多。

逆变允许方法具有的派生参数类型比委托类型中的更少。

不知道大家看到

【菜科解读】

首先我们看一下msdn上关于这两个概念的说明:协变允许方法具有的派生返回类型比委托中定义的更多。

逆变允许方法具有的派生参数类型比委托类型中的更少。

不知道大家看到这两句话时是怎么理解的,反正我是没有理解清楚,于是放狗查了一下,最终我的理解是: 这些变化是在一个大的原则下进行的,即给程序所需要的范围一个更大的范围。

也许还是不清楚,来看一下小例子吧:01 namespace ConsoleApplication1 02 { 03 class Program 04 { 05 static void Main(string[] args) 06 { 07 #region covariance test 08 Func covarianceTest1 = () => getObject(); 09 Func covarianceTest2 = () => getString(); 10 #endregion 11 12 #region contravariance test 13 Action contravarianceTest1 = obj => setObject(obj); 14 Action contravarianceTest2 = str => setString(str); 15 #endregion 16 } 17 18 private static object getObject() { return null; } 19 private static void setObject(object obj) { } 20 21 private static string getString() { return null; } 22 private static void setString(string str) { } 23 24 } 25 26 27 } 以Func为例,它是协变事例:covarianceTest2所需的返回类型是一个object类的,但我给它实例化后,确是一个更精确的类型string,这是好理解的。

以Action为例,它是逆变事例:contravarianceTest1所需的参数类型是一个string类的,但我给它实例化后,确是一个范围更大的类型object。

所有这些都是ms在定义这门语言时设计的,你可以把它当成一个语法记下来。

中的,协变,与,逆变,首先,我们,看一下,msdn,上,

win10用户必看!最新技巧与优化方法大解析!

想重装系统不会怎么办?菜科网一键重装系统轻松在线帮您搞定系统重装问题。

软件支持 在线重装、U盘制作、自定义重装 等多种模式。

win10用户必看!最新技巧与优化方法大揭秘!简介:大家好,今天我要和大家分享一些关于win10的最新技巧与优化方法。

作为一个win10的用户,我深刻意识到在日常使用中,我们常常遇到各种各样的问题和困扰。

通过学习这些最新技巧和优化方法,我们可以更好地使用win10,提高工作和生活效率。

下面,我将为大家介绍一些值得关注的内容。

工具原料:系统版本:Windows 10 品牌型号:个人电脑 软件版本:最新版本 一、创造性地使用任务视图1、任务视图犹如一个虚拟的桌面,可以帮助我们更好地管理多个任务和应用程序。

通过在任务栏上点击任务视图按钮或使用快捷键Win + Tab即可快速启用任务视图。

可以将不同任务和应用程序分别放置在不同的虚拟桌面中,这样可以极大提高我们在工作和学习中的效率。

2、在任务视图中,我们还可以通过点击右下角的新建桌面按钮,创建新的虚拟桌面,这样我们就可以按照不同的工作内容或者不同的兴趣爱好来分类管理我们的任务,极大地提升了我们的多任务处理能力。

二、定制化操作系统1、通过个性化设置来定制我们的操作系统是win10中的一个重要亮点。

我们可以通过不同的方式为我们的桌面,开始菜单,任务栏等进行个性化的设定。

这样可以让我们的操作系统更符合我们的口味和使用习惯。

2、我们还可以通过更改窗口的颜色、设置桌面壁纸、选择自己喜欢的桌面图标等等来打造一个属于自己的个性化桌面。

这些小技巧不仅可以提升我们的视觉享受,还可以让我们在使用过程中更加得心应手。

三、使用Cortana提高工作效率1、Cortana是win10的人工智能助手,她可以帮助我们做很多事情。

通过设置和使用Cortana,我们可以用语音来进行搜索、设置提醒、发送邮件、查找文件等等。

这样可以极大地提高我们的工作效率,让我们的工作变得更加便捷和高效。

2、除了日常的办公使用,Cortana还可以通过学习我们的使用习惯,提供更具个性化的推荐和服务。

她可以基于我们的兴趣爱好、地理位置和日常行程等等,为我们提供更加准确和贴合的信息和服务。

四、总结通过学习这些最新技巧和优化方法,我们可以更好地使用win10,提高工作和生活效率。

创造性地使用任务视图,定制化操作系统,以及使用Cortana提高工作效率,都是我们在使用win10时可以尝试的方法。

希望这些技巧能够对大家有所启发,让我们的win10使用体验更加出色!同时,我也鼓励大家不断探索和尝试,发掘更多的技巧和优化方法,使我们的win10使用更加得心应手。

标签: 注意:本站所刊载的文章均为学习交流之用,请勿用于商业用途。

对于商业使用,请联系各自版权所有者,否则法律问题自行承担。

Win7系统升级指南:全面解析升级步骤与要点 Win7系统损坏修复教程:详细步骤助你快速解决问题 win10用户必看!最新技巧与优化方法大揭秘! 分类于: 回答于:2023-11-29 win10用户必看!最新技巧与优化方法大揭秘!简介:大家好,今天我要和大家分享一些关于win10的最新技巧与优化方法。

作为一个win10的用户,我深刻意识到在日常使用中,我们常常遇到各种各样的问题和困扰。

通过学习这些最新技巧和优化方法,我们可以更好地使用win10,提高工作和生活效率。

下面,我将为大家介绍一些值得关注的内容。

工具原料:系统版本:Windows 10 品牌型号:个人电脑 软件版本:最新版本 一、创造性地使用任务视图1、任务视图犹如一个虚拟的桌面,可以帮助我们更好地管理多个任务和应用程序。

通过在任务栏上点击任务视图按钮或使用快捷键Win + Tab即可快速启用任务视图。

可以将不同任务和应用程序分别放置在不同的虚拟桌面中,这样可以极大提高我们在工作和学习中的效率。

2、在任务视图中,我们还可以通过点击右下角的新建桌面按钮,创建新的虚拟桌面,这样我们就可以按照不同的工作内容或者不同的兴趣爱好来分类管理我们的任务,极大地提升了我们的多任务处理能力。

二、定制化操作系统1、通过个性化设置来定制我们的操作系统是win10中的一个重要亮点。

我们可以通过不同的方式为我们的桌面,开始菜单,任务栏等进行个性化的设定。

这样可以让我们的操作系统更符合我们的口味和使用习惯。

2、我们还可以通过更改窗口的颜色、设置桌面壁纸、选择自己喜欢的桌面图标等等来打造一个属于自己的个性化桌面。

这些小技巧不仅可以提升我们的视觉享受,还可以让我们在使用过程中更加得心应手。

三、使用Cortana提高工作效率1、Cortana是win10的人工智能助手,她可以帮助我们做很多事情。

通过设置和使用Cortana,我们可以用语音来进行搜索、设置提醒、发送邮件、查找文件等等。

这样可以极大地提高我们的工作效率,让我们的工作变得更加便捷和高效。

2、除了日常的办公使用,Cortana还可以通过学习我们的使用习惯,提供更具个性化的推荐和服务。

她可以基于我们的兴趣爱好、地理位置和日常行程等等,为我们提供更加准确和贴合的信息和服务。

四、总结通过学习这些最新技巧和优化方法,我们可以更好地使用win10,提高工作和生活效率。

创造性地使用任务视图,定制化操作系统,以及使用Cortana提高工作效率,都是我们在使用win10时可以尝试的方法。

希望这些技巧能够对大家有所启发,让我们的win10使用体验更加出色!同时,我也鼓励大家不断探索和尝试,发掘更多的技巧和优化方法,使我们的win10使用更加得心应手。

菜科网系统致力于解决 Windows 系统重装解决方案,提供高效、安全、免费的系统重装服务。

js中的window.location、document.location、document.URL对像的分别

当我们需要对html网页进行转向的时候或是读取当前网页的时候可以用到下面三个对像:window.location、document.location、document.URL 对当前网页进行跳转我们先来看看 document 与 window对象:[window 对象] 它是一个顶层对象,而不是另一个对象的属性即浏览器的窗口。

[document 对象] 该对象是window和frames对象的一个属性,是显示于窗口或框架内的一个文档。

document 只是属于window 的一个子对像。

window.location 包含 href 属性,直接取值赋值时相当于 window.location.href。

window.location.href 当前页面完整 URL。

document.location 包含 href 属性,直接取值赋值时相当于 document.location.href。

document.location.href 当前页面完整 URL。

document.href 没有这个属性。

document.URL 取值时等价于 window.location.href 或 document.location.href。

在某些浏览器中通过对 document.URL 赋值来实现页面跳转,但某些浏览器中不行。

那么 window.location 和 document.location 有什么区别呢?我认为是没有区别的,我已经在多个浏览器中不同页面(包括 iframe、frame)中测试了。

有人说一个可写,一个只读,这一点也在我的测试中被否定了。

同样在 MSDN 中说 location 应用于 window 和 document,但并未提出二者有区别。

所以我认为二者是没有区别的。

[document对象] 该对象是window和frames对象的一个属性,是显示于窗口或框架内的一个文档。

属性 alinkColor 活动链接的颜色(ALINK) anchor 一个HTMI锚点,使用 下一篇:

加入收藏
               

c#中的协变与逆变

点击下载文档

格式为doc格式

  • 账号登录
社交账号登录