2016-08-11 2 views
-1

콘솔 메시지의 색을 변경할 수있는 구성을 만들려고합니다. 다음은 설정 여기C#은 JSON에서 ConsoleColor를 읽습니다. 코드는 어떻게 생겼을까요?

"ErrorColor": "Red", 

색상을 변경할 수있는 설정은 없었다 전에이다.

Console.ForegroundColor = color == ConsoleColor.Black ? ConsoleColor.Red : color; 

여기에 내가 추가하려고했던 것입니다.

Console.ForegroundColor = color == ConsoleColor.Black ? ConsoleColor.(session.LogicSettings.ErrorColor) : color; 

내 코드는 어떻게 생겼습니까?

+2

과 같을 것이다 (http://stackoverflow.com/questions/38884786/how-can-i-make-this-work-c- sharp-reads-consolecolor-from-json) 다른 질문에서 언급했듯이 [여기] 답변을 찾을 수 있습니다 (http://stackoverflow.com/questions/2290262/search-for-a-string-in-enum- and-return-enum), 이것은 기본적으로 마이크가 여러분에게 준 것입니다. –

+0

나는 어떻게 내 코드가 – Mark

답변

1

Parse/TryParse는 일반적으로 문자열에서 enum 값을 얻는 방법이지만 json 직렬화를 처리하지는 않습니다. [당신이 다시 물어 것이라고?] 어쨌든 그것은 아마이

ConsoleColor color; 
if (!Enum.TryParse(session.LogicSettings.ErrorColor, out color)) 
{ 
    // this is the fallback color in case an invalid value was entered. 
    color = ConsoleColor.Red; 
} 

Console.ForegroundColor = color; 
+0

처럼 보이는지 궁금해했다. Console.ForegroundColor = color == ConsoleColor.Black? ConsoleColor. (session.LogicSettings.ErrorColor) : color; 또는 그것을 대체? – Mark

+0

@ 마크 당신은 그렇게하지 않을 것입니다. C#도 유효하지 않습니다. 이것은 TryParse를 사용하는 방법에 대한 데모가 아니고 복사하여 붙여 넣기위한 것이 아닙니다. –

관련 문제