SecureString 上的 VB.NET 扩展方法有什么问题?

What is wrong with this VB.NET extension method on SecureString?

当我尝试编译时,以下方法导致错误,"BC30491 Expression does not produce a value":

<Extension()>
Public Sub FromClearString(ByRef secureString As SecureString, clearString As String)

    clearString.ToList().ForEach(Function(c) secureString.AppendChar(c))
    secureString.MakeReadOnly()

End Sub

这对我来说似乎是一个完全正常的扩展,但我不经常使用 VB。它可能有什么问题?

SecureString.AppendChar() 方法不产生任何值。

尝试使用此代码

For Each chr as char in clearString
SecureString.AppedChar(chr)
Next
clearString.ToList().ForEach('---> Function(c) '<--- secureString.AppendChar(c))

ForEach 签名是 Action(Of T).AppendChar(c) 没有 return 一个东西

正确方法:

clearString.ToList().ForEach(Sub(c) secureString.AppendChar(c))