关于“跨语言调用”和“CLS(公共语言规范)”的一点体会

.NET框架允许跨语言编程,如C#编写的DLL可在VB.NET中调用。然而,区分大小写的C#与不区分大小写的VB.NET在调用时不兼容。问题在于未遵循CLS(公共语言规范)。当在C#类库中添加[CLSCompliant(true)]属性以确保符合CLS,编译时会出现错误,因为区分大小写的函数名冲突。为解决此问题,需明确指定不符合CLS的函数,如在abc函数前添加[CLSCompliant(false)]。CLS旨在让不同语言间能互操作,不符合CLS的类库可能导致在某些语言中出现问题,例如使用不支持的类型。通过深入学习,作者对CLS作为编程语言和类库设计者之间的约定有了更深刻的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

.net的一个很重要的特性就是跨语言的编程,用C#写的dll可以在VB.net里调用,例如:
用C#写的一个类,编译到dll中,然后在VB.net中调用:

 

using  System;

namespace  CLSsample
{
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值