关于白忙活一个下午,结果发现方法没写参数的反思。

博客讲述了在Unity中使用dynamic关键字时遇到的问题。由于Unity默认编译版本为2.0,不支持C# 4.0的dynamic特性,作者升级编译版本到4.X后,遇到方法调用缺少参数的错误。通过调整代码和尝试引入Microsoft.CSharp.dll,最终发现错误源在于方法调用时忘记传参。总结经验,提醒开发者注意动态类型使用时的细节,并指出Unity已内置Microsoft.CSharp无需额外引入。

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

今天在游戏中要用到dynamic关键字,dynamic确实特别方便和好用
但在rider引入dynamic时报错。后面将编译版本从2.0设置到4.X。
这时候运行报了一个很诡异的错误,就是使用dynamic对象中的方法时,我忘记加参数。然后就报错了。
就是这个错误我白忙活了整个下午。。。。。

百度中搜索报错信息,提示要引入Microsoft.CSharp.dll,结果引入就报错,后面用NuGet安装Microsoft.CSharp,但一直提示命名重复,就这样瞎折腾。

后面我从简单语句,dynamic a = 1,没报错,再复杂点的dynamic 也没报错,当我再回过头发现,刚开始的问题是我调用方法,没有传递参数

总结:其实unity自带了Microsoft.CSharp,但编译版本2.0不支持C#4的dynamic,所以只要设置成4.X就ok了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值