C# .net3.5版本遇到错误CS0656 缺少编译器要求的成员“Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create”问题的解决办法

问题来源:

.net3.5框架下使用动态类型 dynamic 相加;

C# .net3.5版本遇到错误CS0656 缺少编译器要求的成员“Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create”问题的解决办法_第1张图片

简单介绍dynamic :

        dynamic关键字用于声明动态类型变量。与静态类型变量不同,动态类型允许您在编译时不指定变量的类型,并允许在运行时根据需要更改变量的类型。使用动态类型使得代码更灵活,可以处理不同类型的数据。

以下是使用 dynamic 关键字的一些示例:

1. 声明动态类型变量:

        使用 dynamic 关键字声明一个变量,并在需要时将其分配给任何类型的数据。

dynamic myVar;

2. 运行时类型探测:

        可以在运行时确定 dynamic 变量的实际类型,这称为运行时类型探测。

Console.WriteLine(myVar.GetType()); // 输出变量类型

3. 动态类型的操作:

        可以像操作静态类型一样使用动态类型变量,包括调用方法和访问属性。

dynamic myVar = "Hello World";
Console.WriteLine(myVar.Length); // 访问字符串的Length属性

myVar = 10;
Console.WriteLine(myVar + 5); // 整数相加

4. 缺点:

        在使用 dynamic 类型时,由于运行时类型确定,编译器无法提供编译时类型检查和智能感知支持。因此,在使用动态类型时要小心,确保操作的安全性和正确性。

总结:

        使用动态类型可以在一些特定情况下非常有用,如处理来自外部数据源的动态结构数据(如JSON、XML等),或者在需要灵活处理不同类型数据时。

步入正题(问题解决)

        dynamic这个类型是 .net4之后引入的类型,在 .net3定义变量不会报错,当进行运算时,它就会报缺少编译器要求的成员的错误

问题解决:

首先点击自己的项目——>右键选择属性

C# .net3.5版本遇到错误CS0656 缺少编译器要求的成员“Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create”问题的解决办法_第2张图片

C# .net3.5版本遇到错误CS0656 缺少编译器要求的成员“Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create”问题的解决办法_第3张图片

 找到目标框架,将该项目的框架换成.net4以后的框架C# .net3.5版本遇到错误CS0656 缺少编译器要求的成员“Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create”问题的解决办法_第4张图片

 完成上述任务之后继续右键项目——>点击管理NuGet程序包

C# .net3.5版本遇到错误CS0656 缺少编译器要求的成员“Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create”问题的解决办法_第5张图片

 进去之后点击搜索框,搜索 Microsoft.CSharp——>再点击安装,最后确定安装就好了。

C# .net3.5版本遇到错误CS0656 缺少编译器要求的成员“Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create”问题的解决办法_第6张图片

C# .net3.5版本遇到错误CS0656 缺少编译器要求的成员“Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create”问题的解决办法_第7张图片

问题解决,皆大欢喜 

C# .net3.5版本遇到错误CS0656 缺少编译器要求的成员“Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create”问题的解决办法_第8张图片

你可能感兴趣的:(C#,c#,.net,开发语言,后端)