写点什么

在 C#和 Visual Basic 中使用 Mixin

  • 2011-07-03
  • 本文字数:524 字

    阅读完需:约 2 分钟

Mixin 是对互不相关的类都有用处的一组功能。在支持多重继承的语言中 mixin 以第二基类的形式出现,而在动态强类型语言中则会被直接合并到类型中。C#和 VB 不支持这两种方式,一般通过基类来实现,从而导致类型肿胀或大量的复制粘贴。组合也不是好办法,因为被混入的方法和属性需要委托给内部对象执行。

re-mix 项目提供了另一种选择。通过运行时代码生成,简单的类能和一个或多个 mixin 类合并。这看起来像是多重继承,但实际上则是结合了对象组合与接口匹配来实现。比如说,你想要一个 mixin 来为类添加深拷贝功能。你需要创建一个 ICloneable 接口,以及一个实现该接口的 mixin 类 CloneableMixin。CloneableMixin 自动会获得一个父对象的引用,通过这个引用就可以执行克隆操作。

你可以在运行时将 CloneableMixin 混入任何类中来创建新的类。新类会继承自之前的类,并且实现了 mixin 所实现的全部接口。所有这些接口中的方法都会被委托给一个 mixin 的实例来执行。

另一个 mixin 的用法是重载基类中的行为,在这种情况下,mixin 中的方法将会在生成的类中改写原来类中的方法。

从 Stefan Wenig 和 Fabian Schmied 在 Lang.NET 的演讲中,可以学到更多关于re-mix 和mixin 的东西。

查看英文原文: Mixins for C# and Visual Basic

2011-07-03 10:422191
用户头像

发布了 63 篇内容, 共 27.0 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

科普:什么是 BC-404 ?全方位解读最新通缩型 NFT 标准

NFT Research

NFT ERC404

亚马逊秘密研发 AI 对标 ChatGPT;语音 AI 未来五年或将释放 100 亿美元市场 丨 RTE 开发者日报

声网

VMware ESXi 8.0U3 macOS Unlocker & OEM BIOS 标准版和厂商定制版

sysin

macos esxi OEM unlocker dell

以“好运”潮饰 “牵”情绪共鸣 老庙一串好运系列与消费者展开情绪对话

科技大数据

时延降低 50%,小红书图数据库如何实现多跳查询性能大幅提升

小红书技术REDtech

分布式 查询 图数据库 图数据库实战 并行查询

小窗口大魔力,实况窗服务实时掌控重要信息变化

HarmonyOS SDK

HarmonyOS

如何在前端项目中制定代码注释规范

伤感汤姆布利柏

云端部署mes/万界星空科技云mes系统

万界星空科技

mes 云mes 万界星空科技

手把手教你用Charles抓包

AntDream

网络 charles Android; 网络抓包 抓包工具

一文带你了解Mock 技术体系

霍格沃兹测试开发学社

VMware vCenter Server 8.0U3 发布下载 - 集中式管理 vSphere 环境

sysin

vSphere vcenter esxi

PHP中常用的设计模式

左诗右码

php

SaaS 出海:Databend Cloud 的定位与实践

Databend

性能测试公开课来啦!从性能测试方案到性能调优,从负载均衡到中间件测试,全方位讲解性能测试核心内容

测吧(北京)科技有限公司

测试

白熊AI推出两款大模型应用产品:一站式智能体开发,十万节点0.9秒响应;0门槛、低代码,全流程自动化大模型训练平台

白熊AI

白熊AI 大模型训练平台 RAG知识库 Agent智能体 Workflow工作流

VMware ESXi 8.0U3 发布下载 - 领先的裸机 Hypervisor

sysin

vSphere esxi

pd17虚拟机安装包:Parallels Desktop 17 激活版

你的猪会飞吗

mac软件下载 Mac虚拟机下载 PD17虚拟机

VMware ESXi 8.0U3 macOS Unlocker & OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版)

sysin

macos esxi 驱动 OEM BIOS

GitLab 使用 Docker Compose 部署

极狐GitLab

制造业采购堡垒机的四大必要性看这里!

行云管家

网络安全 数据安全 堡垒机 制造

PHP 之道笔记整理:最佳实践与安全指南

左诗右码

php

接口测试:Mock 技术体系

测试人

软件测试

引领产业创新,河套国际性产业与标准组织聚集区亮相2024MWC上海

最新动态

VMware vSphere 8.0 Update 3 发布下载 - 企业级工作负载平台

sysin

vSphere vcenter esxi

零成本搭建个人图床服务器

北桥苏

GitHub Pages 免费图床 图床搭建

青海正规等保测评服务公司是4家吗?分别在哪里?

行云管家

等保 青岛 等级保护 等保测评

在C#和Visual Basic中使用Mixin_.NET_Jonathan Allen_InfoQ精选文章