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))
当我尝试编译时,以下方法导致错误,"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))