【问题标题】:Can you get a list of parameters in VB.net Compact Framework?你能得到 VB.net Compact Framework 中的参数列表吗?
【发布时间】:2016-05-06 22:33:50
【问题描述】:

在 VB.Net Compact Framework 3.5 中是否可以获得传递给方法的参数列表?

例如,

Private Sub TestSub(Param1 as String, Param2 as Integer, Param3 as List(Of String)
    'Get List of Parameters 
End Sub

是否可以获取参数的名称以及在“获取参数列表”时填充的内容

任何帮助将不胜感激。

谢谢

【问题讨论】:

  • “获取参数列表”是什么意思?智能感知? (否则,它已经在那儿了)
  • 我猜他想获取子程序或函数中的所有参数。我自己也想知道。但我认为这是不可能的。 stackoverflow.com/questions/7236746/…
  • 很抱歉给您带来了困惑。我正在尝试为我的所有函数和子程序添加一个简单的错误处理程序。我希望能够将相同的代码添加到我的所有方法中,以便在出错时提供参数名称列表和该参数的内容。我可以浏览我的代码并为我的所有方法手动输入它,但这将非常耗时,而且我正处于最后期限。从 Crush Sundae 提供的链接中,您似乎需要 GetCurrentMethod,它在 Compact Framework 中不可用,但如果有人知道另一种方法,我将不胜感激。
  • 我不会说这是重复的,但我认为您需要的信息在这里:stackoverflow.com/questions/531695/…

标签: vb.net methods parameters compact-framework


【解决方案1】:

看看https://msdn.microsoft.com/pt-br/library/system.reflection.methodbase.getcurrentmethod(v=vs.110).aspxhttps://msdn.microsoft.com/pt-br/library/system.reflection.methodbase.getparameters(v=vs.110).aspx 了解更多信息。

但我假设您正在寻找这样的东西:

Private Function GetParameters(ByVal info As MethodBase) As String
    Dim lst = info.GetParameters()
    Dim strParameters As String = ""
    For Each item In lst
        If strParameters <> "" Then strParameters += ","
        strParameters += item.Name
    Next

    Return strParameters

End Function

然后调用:

Private Sub TestSub(ByRef a As String, ByRef b as String)
    Dim strParameters As String = GetParameters(System.Reflection.MethodBase.GetCurrentMethod())
End Sub

返回应该是“a,b”。

最好的问候。

【讨论】:

  • 感谢您的回复,但这不适用于紧凑的框架。没有GetCurrentMethod
猜你喜欢
  • 1970-01-01
  • 2016-02-21
  • 1970-01-01
  • 2015-04-25
  • 2020-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多