У меня есть следующий код F #:
//Array iter version
let toSecureString (s:string) =
let sString = new SecureString()
s |> Array.iter (fun cl -> sString.AppendChar cl)
sString
Я пытаюсь преобразовать строку .Net в .Net SecureString.Когда я пытаюсь скомпилировать, я получаю ошибку несоответствия типов:
stdin(60,10): error FS0001: Type mismatch. Expecting a
string -> 'a
but given a
'b [] -> unit
The type 'string' does not match the type ''a []'
Если я не укажу тип s, то это сигнатура типа, которую я вижу:
val toSecureString : char [] -> SecureString
Нотак как я не хочу каждый раз вручную создавать массив символов для аргумента, мне кажется, что я что-то упустил.Как я могу заставить этот код работать с передаваемым строковым параметром?
Если это имеет значение, я тестирую на F # 2.0 (сборка 4.0.40219.1).
Любые советы приветствуются.Если об этом уже спрашивали и отвечали, оставьте ссылку в комментариях, и я закрою этот вопрос.