gpt4 book ai didi

.net - 基于字符串值在 .NET 中创建方法调用

转载 作者:行者123 更新时间:2023-12-04 02:36:41 28 4
gpt4 key购买 nike

现在,我的代码看起来像这样:

Private Sub ShowReport(ByVal reportName As String)
Select Case reportName
Case "Security"
Me.ShowSecurityReport()
Case "Configuration"
Me.ShowConfigurationReport()
Case "RoleUsers"
Me.ShowRoleUsersReport()
Case Else
pnlMessage.Visible = True
litMessage.Text = "The report name """ + reportName + """ is invalid."
End Select
End Sub

有什么方法可以创建使用我的方法命名约定来简化事情的代码?这是一些伪代码,描述了我正在寻找的内容:
Private Sub ShowReport(ByVal reportName As String)
Try
Call("Show" + reportName + "Report")
Catch ex As Exception
'method not found
End Try
End Sub

最佳答案

Type type = GetType();
MethodInfo method = type.GetMethod("Show"+reportName+"Report");
if (method != null)
{
method.Invoke(this, null);
}

这是 C#,应该很容易把它变成 VB。如果需要将参数传递到方法中,可以将它们添加到 Invoke 的第二个参数中。

关于.net - 基于字符串值在 .NET 中创建方法调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/134214/

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