C#4.0和.Net3.5所以我们终于在一些开发者工作站上安装了VS2010,C#4.0的特性也可用了。虽然我们开发的大部分内容暂时还需要针对.Net3.5。当我开始一个新项目并将目标设置为.Net3.5时,它仍然允许我像动态一样使用C#4.0。那么在面向.net3.5时可以使用C#4.0功能吗?这些功能是否适用于.Net4.0不可用的环境?谢谢。如果您以.NET3.5框架为目标,则不会编译动态代码。需要明确的是,编译器将允许您定义和分配动态变量,例如:dynamicx=3;这行代码将编译,因为就类型而言,dynamic仅编译为对象。但是,如果您尝试对该变量做任何事情,例如:Console.WriteLine(x);...然后编译器必须生成代码来发现/强制实际类型,这是它做不到的;您将收到以下编译错误:未定义或导入预定义类型“Microsoft.CSharp.RuntimeBinder.Binder”找不到编译动态表达式所需的一种或多种类型。您是否缺少对Microsoft.CSharp.dll和System.Core.dll的引用?C#4编译器依赖于DLR,特别是Microsoft.CSharp程序集,用于与动态相关的所有内容。这些在.NET3.5中不可用。所以答案是否定的,在面向Framework3.5版时不能使用dynamic。以上就是C#学习教程:C#4.0和.Net3.5分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
