2009-06-04 5 views
3

C# 응용 프로그램에서 임의의 (그러나 지원되는) 인코딩의 DecoderFallback 속성을 설정하려고합니다. 기본적으로 난 할 노력하고있어 이것이다 : 나는 예외를 받고 있어요인코딩 유형 DecoderFallback 속성을 설정할 수 없습니다

ASCIIEncoding ascii = new ASCIIEncoding(); 
ascii.DecoderFallback = new DecoderExceptionFallback(); 

내가 본 적이 전에 :

System.InvalidOperationException했다 처리되지 않은 메시지 = "인스턴스가 읽기 -만." 출처 = "mscorlib에"
스택 트레이스 : 내 애플 리케이션에 System.Text.Encoding.set_DecoderFallback (DecoderFallback 값) <에서 ...에서 ...> 의 InnerException :

내가 수 없습니다 찾을 수 해당 속성을 사용하는 방법에 대한 예제가있는 모든 MSDN 문서 누군가가 내게 어떤 점을 지적 할 수 있다면 어쩌면 내 사용법이 잘못되었는지 제안 할 수 있습니다. 나는 바이트 또는 바이트를 디코딩하지 못하면 예외를 던질 필요가 있으며, 눈치 채지 못하게 할 수는 없다.

감사합니다,

답변

0

브라이언이 속성은 http://www.google.com/codesearch?q=DecoderFallback

ASCIIEncoding ascii = (ASCIIEncoding)new ASCIIEncoding().Clone(); 
ascii.DecoderFallback = new DecoderExceptionFallback(); 
+0

난 그냥이 시도하고 예외는 여전히 발생합니다. 대신 @palhares의 제안을 사용하십시오. –

3

에 읽기 전용 기준으로합니다. Encoding.GetEncoding()을 사용하여 구성으로 고유 한 인코딩을 만들어야합니다. 이 메소드는 Encode, EncoderFallback 및 DecoderFallback을 수신합니다.

var enc = System.Text.Encoding.GetEncoding("ASCII", EncoderFallback.ExceptionFallback, DecoderFallback.ExceptionFallback); 

http://msdn.microsoft.com/pt-br/library/89856k4b.aspx

+1

답변을 설명하는 단어가 아니라 코드로 배우기 쉽습니다. –

+0

@ OlleSjögren 편집 됨, thx ... – palhares

관련 문제