C#-如何在2012年使用2017年的新功能
我拥有visual studio 2017和2012。 我正在创建的项目仅使用VS2012(我真的不知道为什么,还有一些附加安装只能安装在VS2012上) 这是我的部分代码。 例如:C#-如何在2012年使用2017年的新功能,c#,visual-studio-2012,enums,.net-micro-framework,C#,Visual Studio 2012,Enums,.net Micro Framework,我拥有visual studio 2017和2012。 我正在创建的项目仅使用VS2012(我真的不知道为什么,还有一些附加安装只能安装在VS2012上) 这是我的部分代码。 例如: enum Colors { blue = 0, green = 1, red = 2, } public Class LED { private ComponentLED[] _arr; public LED() { //Here I create the array and fill h
enum Colors
{
blue = 0,
green = 1,
red = 2,
}
public Class LED
{
private ComponentLED[] _arr;
public LED()
{
//Here I create the array and fill him with the objects.
}
private ComponentLED GetLEDObjectByColor(string color)
{
//This line don't work
//('System.Enum' does not contain a definition for 'Parse'
int index = (int)( (Colors)Enum.Parse(typeof(Colors), color) );
return _arr[index];
}
}
据我所知:System.dll不定义某些函数。
我在Enum类上看到的唯一有效的函数是:
枚举等于
Enum.ReferenceEquals
所以我认为问题可能出在system.dll中,它是self
也许你知道问题是什么或者如何解决。我将非常感谢你
这里有一些关于我当前system.dll的信息
路径:C:\Program Files(x86)\Microsoft.NET Micro Framework\v4.2\Assemblys\le\System.dll
运行时版本:v4.0.30319
版本:4.2.0.0
及申请资料:
目标框架:.Net Micro Framework 4.2(它是最-无法更改的)该.Net MicroFramework是一个非常精简的.Net Framework版本,可以在嵌入式系统上运行。为了适应这些系统的内存紧张限制,.NET基本库的许多功能已被剥离,只保留最重要的功能。您将看到它不包含任何解析选项 在对颜色枚举进行解析的情况下,您可能需要根据基础int值实现自己的代码。这也将使它在这些有限的系统上运行得更快 在过去几年中,.NET微框架的开发速度明显放缓,但最近一个新团队已经开始为其开发,并将其移植到Visual Studio 2017。一个很好的介绍可以和代码建立在2017年可以跟踪。谢谢。 所以最佳的解决方案是
private ComponentLED GetLEDObjectByColor(string color)
{
if(Colors.blue.ToString() == color)
return _arr[(int)Colors.blue];
//And continue it until I passed all the enums...
}
C#从一开始就有枚举,您的代码还有其他问题。我没有说C#没有枚举。但是他们在VS2012中仅有的静态函数是:Enum.ReferenceEquals和Enum.Equals“我知道VS2012太旧了,但出于某种原因,它是唯一一个可以与我的项目一起使用的版本。”这是你应该解决的问题,而不是永远使用一个古老的版本。请注意,没有“.NET4.2”这样的东西,所以不清楚您真正的目标是什么。正如泰勒所说,不管怎样,这些代码都应该适用于任何版本的desktop.NET。我建议您创建一个包含项目详细信息的新问题,以及当您尝试将其迁移到VS2017时会发生什么。(如果你真的想保留当前的问题,至少提供一个答案,并说明你看到了什么错误)现在,你告诉我们,这是一个微观框架,它产生了巨大的差异-这是一个非常利基的环境,从一开始就应该明确这一点。我并不感到惊讶,它不仅仅是VS2017的开箱即用。请查看此处:在.NET MF的移植版本上获取2017年的升级指南。