首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >非常简单的扩展方法--用莱曼术语解释(C#)

非常简单的扩展方法--用莱曼术语解释(C#)
EN

Stack Overflow用户
提问于 2011-05-17 15:43:39
回答 5查看 818关注 0票数 0

可能重复: 什么是扩展方法?

我知道以前有人问过这个问题,但有些人可以提供一个非科技的解释,尽可能简单地用非专业的术语来解释。

所有关于其他答案的文档对我来说似乎有点太远了。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-05-17 15:48:44

我不认为它比维基百科文章上的一句话简单得多

“扩展方法使您能够向现有类型‘添加’方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。”

票数 1
EN

Stack Overflow用户

发布于 2011-05-17 15:48:17

扩展方法是一种在不改变类型定义本身的情况下模拟新方法的方法。

我想一个外行解释它的方法是,它给每个类型,它自己的个人随从。他们本身并没有被改变,他们只是获得了许多新的能力,仅仅是因为那些被雇来和他们一起玩的人。

票数 2
EN

Stack Overflow用户

发布于 2011-05-17 15:45:59

嗯,编程本身就是“技术”,所以为了理解文档,我会尽可能多地学习。但是,扩展方法只允许您将行为类似实例方法的方法添加到现有类中,否则这些类将被关闭以进行修改。

例如,如果我编写了一个包含类型Foo的库,并且没有分发源代码,那么您将不得不对其进行子类化,以添加任何功能,而且只有在类型“未密封”的情况下才有可能。随着扩展方法的出现,您可以像任何其他方法一样,将方法添加到您可以调用的类中(实际上,它们是作为静态方法实现的,这些方法接受Foo实例的第一个隐藏参数,因此仍然无法访问该类的私有成员)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6033457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档