Visual Studio 2017과 2012가 모두 있습니다. VS2012로만 작업하는 프로젝트입니다 (이유는 모르겠지만 추가 설치가 필요합니다. VS2012에만 설치할 수 있습니다).2012 년에 2017의 새로운 기능을 사용하는 방법
여기 내 코드의 일부입니다. 예를 들어 : System.dll을 어떤 함수를 정의하지 않습니다 : 내가 이해 한 것과
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];
}
}
. 열거 클래스에서 작동 내가 볼 수있는 유일한 기능은 다음과 같습니다 Enum.Equals Enum.ReferenceEquals
그래서 나는 문제가 자기의 System.dll을에있을 수 있습니다 생각했다.혹시 문제인지 또는 해결 방법을 알고 계신 것 같습니다. 나는 너를 고맙게 생각한다. 여기
내 현재 System.dll을
경로에 대한 정보 : C : \ 프로그램 파일 (86) 마이크로 소프트 \ .NET 마이크로 프레임 워크 \의 버전 4.2 어셈블리 \ \ 제작 : \ System.dll을
런타임 버전 : v4.0.30319이
버전 : 4.2.0.0이
및 응용 프로그램 정보 : 대상 프레임 워크 : 닷넷 마이크로 프레임 워크 4.2 (그것은 가장 - 변경할 수 없습니다)
C 번호는 처음부터 열거를했다 ...이 될 것입니다. –
나는 C#에 enum이 없다고 말하지 않았다. 그러나 VS2012에있는 유일한 정적 함수는 Enum.ReferenceEquals 및 Enum.Equals – Artiom
입니다. "VS2012가 너무 오래되었지만 어떤 이유로 든 내 프로젝트에서 작동하는 유일한 버전이라는 것을 알고 있습니다." 고대 버전으로 영구적으로 살기보다는 고쳐야 할 것이 있습니다. ".NET 4.2"와 같은 것은 없으므로 실제로 * 타겟팅하는 대상이 명확하지 않습니다. 테일러 (Taylor)에 따르면이 코드는 어쨌든 어떤 버전의 데스크탑에서도 작동 할 것이라고한다. 프로젝트의 세부 정보와 함께 새로운 질문을 작성하고 VS2017로 마이그레이션하려고하면 어떻게되는지를 제안합니다. (현재의 질문을 정말로 지키고 싶다면 적어도 [mcve]를 제공하고 어떤 오류가 표시되는지 말하십시오) –