- - PR -
【VB.NET】リフレクションでByref引数のメソッドをGetMethodできない
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-07-14 18:14
NUnitを使って、リフレクションによるPrivateメソッドのテストをしています。
参照渡し引数のメソッドが、GetMethodできません。(Nothingが返ってくる) 値渡し(ByVal)に変えるとGetMethodできます。 ご教授お願いいたします。 ----(呼出元はじめ)-------------- <Test()> _ Public Sub testByrefLong_test2() Dim lng As Long Dim infoType As Type = GetType(TestClass) Dim methodInfo As Reflection.MethodInfo _ = infoType.GetMethod("testByrefLong", Reflection.BindingFlags.NonPublic Or Reflection.BindingFlags.Instance, Nothing, New Type() {GetType(Long)}, Nothing) End Sub ----(呼出元おわり)-------------- ----(呼出先はじめ)-------------- Public Class TestClass Private Sub testByrefLong(ByRef lng As Long) End Sub End Class ----(呼出先おわり)-------------- | ||||||||
|
投稿日時: 2006-07-14 18:55
ここの型が間違っているからです。 引数の型を、ByRef な Long にする必要があります。
このように、ByRef を示す型の最後には & をサフィックスとして付加します。 Long は、CLR 的には、System.Int64 ですので、"System.Int64&" になります。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-07-15 01:23
なるほどーw
過去ログになかったので、困っていたところです。 本当にありがとうございました! |
1