如何獲取通過byref傳入方法的對象的名稱?獲取通過byref參數傳遞的對象的名稱vb.net
例子:
Dim myobject as object
sub mymethod(byref o as object)
debug.print(o.[RealName!!!!])
end sub
sub main()
mymethod(myobject)
'outputs "myobject" NOT "o"
end sub
我使用這個日誌記錄。我多次使用一種方法,並且記錄我傳遞給它的變量的名稱會很好。既然我通過byref,我應該能夠得到這個名字,對吧?
MiniTech移動對於誰提供了答案:
這將使你的參數名稱的方法,它的類型,而不是傳遞按地址變量的名稱。
using system.reflection
Dim mb As MethodBase = MethodInfo.GetCurrentMethod()
For Each pi As ParameterInfo In mb.GetParameters()
Debug.Print("Parameter: Type={0}, Name={1}", pi.ParameterType, pi.Name)
Next
如果你把它放在上面的「mymethod」中,你會得到「o」和「Object」。
它是一個類成員。 –
@Hans Passant:「myobject」?不,這不對。這是一個變量。 – Ryan
用於記錄。這是一個沒有GUI的過程,我試圖不重複代碼。如果我可以獲得變量名稱,那麼對於日誌來說會很好。我只需要將它作爲字符串文字傳遞給我的方法即可。但是「不」也是一個答案。謝謝。 看到我的問題的代碼示例打印「o」(我編輯它)。 – John