gpt4 book ai didi

vb.net - C# 到 VB.Net 语法转换

转载 作者:行者123 更新时间:2023-12-01 15:04:09 31 4
gpt4 key购买 nike

任何人都可以将以下语法翻译成 vb.net。

m_TextBox.Loaded += TextBoxLoaded
m_TextBox.Loaded -= TextBoxLoaded;
private void TextBoxLoaded(object sender, RoutedEventArgs e)
{
Init();
}

..
containsTextProp.AddValueChanged(m_TextBox, (sender, args) => UpdateAdorner());
...
private void UpdateAdorner()
{...}

最佳答案

尽管接受率为 25%,但这里是:

AddHandler m_TextBox.Loaded, AddressOf TextBoxLoaded
RemoveHandler m_TextBox.Loaded, AddressOf TextBoxLoaded

Private Sub TextBoxLoaded(ByVal sender as Object, ByVal e as RoutedEventArgs)
Init()
End Sub

您对 AddValueChanged 的调用无法直接转换,因为 VB.NET 的 lambda 表达式支持不如 C# 强大。特别是,VB.NET lambda 必须是一个表达式,因此您必须返回一个值或调用一个 Function。在您的情况下,您将调用 Sub,这在 VB.NET 中是不允许的。您应该考虑将 UpdateAdorner 的签名更改为标准事件处理程序(如 TextBoxLoaded 方法)并将 AddressOf UpdateAdoerner 传递给 AddValueChanged

像这样:

containsTextProp.AddValueChanged(m_TextBox, AddressOf UpdateAdorner);

...

Private Sub UpdateAdorner(ByVal sender as Object, ByVal e as EventArgs)
...
End Sub

关于vb.net - C# 到 VB.Net 语法转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1916573/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com