Помогите конвертировать из WinForm в Windows-Mobile - PullRequest
1 голос
/ 24 января 2011

У меня есть этот код в моей программе Winform C #:

sb.Append(Encoding.Default.GetString(new byte[] { b }));

и все работает отлично .

Когда я пробую это на моей программе C # для Windows-mobile, я получаю эту ошибку:

No overload for method 'GetString' takes '1' arguments

В чем проблема?

Ответы [ 2 ]

2 голосов
/ 24 января 2011

Посмотрите в документации MS: http://msdn.microsoft.com/en-us/library/system.text.encoding.getstring(v=VS.80).aspx

Используемый вами метод не представлен в .NET Compact Framework (Windows Mobile). Вам нужно будет использовать вторую версию, для которой нужно еще 2 параметра: Index и Count.

0 голосов
/ 26 января 2011

Full .NET Framework довольно большой, слишком большой для маленького устройства.Поэтому, когда они создали Compact Framework, им пришлось сократить некоторые API.В результате получилась довольно жестокая обрезка для CF 1.0, и они постепенно добавляли материал в течение многих лет.

Иногда, как вы только что это сделали, вы встретите API, в котором отсутствует конкретное переопределение.Ответ , как сказал Иден , заключается в использовании другого поддерживаемого переопределения.В этом случае:

Encoding.GetString (Byte[] toDecode, Int32 indexOfFirstByteToDecode, 
  Int32 numberOfBytes)
...