C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[1]: Delegateを使用しているメソッドのNUnitについて
(過去ログ 44 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 4 記事 (1 - 4 表示)] <<
0
>>
■23629
/ inTopicNo.1)
Delegateを使用しているメソッドのNUnitについて
▼
■
□投稿者/ じゅで
(88回)-(2008/08/19(Tue) 16:12:49)
分類:[VB.NET/VB2005]
いつもお世話になっております。
じゅでです。
今回お聞きしたいのは、以下の件になります。
クラスに以下のDelegateを宣言します。
Private Delegate Sub Hoge(ByVal str As String)
このDelegateを使用しているメソッドがあります。
private sub TestMethod(ByVal method as Hoge)
いろんなしょり
end sub
TestMethodを呼ぶ際に、イベントの発生元で、委譲先を登録します。
private sub 呼出し元()
dim process as Hoge = AddressOf 呼出すメソッド
TestMethod(process)
end sub
問題になっているのは、以下の点です。
1.クラス内部のDelegate定義の取得方法。
(現在は、System.Reflection.MemberInfoで取れていますが、その他の方法があれば。)
2.取得したDelegateの定義を使用して、テスト対象のメソッド
(今回は、TestMethod(ByVal method as Hoge)となります)を呼出す方法。
(メソッド自体は、MethodInfoで取得は出来ています。)
[Delegate].CreateDelegateでMemberInfoで取得してあるTypeから生成できるかと思ったのですが、
いまいち使い方が理解出来ておりません。
どなたか分かる方がいらっしゃいましたら、お力をお貸し下さい。
よろしくお願い致します。
引用返信
編集キー/
編集
■23633
/ inTopicNo.2)
Re[1]: Delegateを使用しているメソッドのNUnitについて
▲
▼
■
□投稿者/ じゅで
(89回)-(2008/08/19(Tue) 17:18:13)
2008/08/19(Tue) 17:18:36 編集(投稿者)
自己解決しました。
まず、MemberInfoでDelegateの情報が取れているので、それをそのまま
Delegate.CreateDelegateで指定するTypeにする為に以下のようにTypeを変換します。
dim delegateType as Type = DirectCast(memberInfo, Type)
次は、取得できたdelegateTypeでCreateDelegateを呼出してあげます。
[Delegate].CreateDelegate(delegateType, Me, "NUnit流す際に使用するダミー用メソッド名")
結果、NUnitで流す為に必要となるメソッドを、テスト対象の内部で、private宣言しているDelegateの型で
作成できます。
お騒がせしました。
# 解決済み追加
解決済み
引用返信
編集キー/
編集
■23635
/ inTopicNo.3)
Re[1]: Delegateを使用しているメソッドのNUnitについて
▲
▼
■
□投稿者/ やじゅ
(548回)-(2008/08/19(Tue) 17:34:52)
2008/08/19(Tue) 17:35:30 編集(投稿者)
■
No23629
(じゅで さん) に返信
>
> [Delegate].CreateDelegateでMemberInfoで取得してあるTypeから生成できるかと思ったのですが、
> いまいち使い方が理解出来ておりません。
>
ここ参考になるかしら・・・
他のコントロールのイベントを代入
http://bbs.wankuma.com/index.cgi?mode=al2&namber=7200&KLOG=18
遅かった・・・
解決済み
引用返信
編集キー/
編集
■23692
/ inTopicNo.4)
Re[2]: Delegateを使用しているメソッドのNUnitについて
▲
▼
■
□投稿者/ じゅで
(90回)-(2008/08/20(Wed) 13:55:39)
> ここ参考になるかしら・・・
> 他のコントロールのイベントを代入
>
http://bbs.wankuma.com/index.cgi?mode=al2&namber=7200&KLOG=18
有難うございます。
参考にさせていただきます。
> 遅かった・・・
いえ、そんな事は無いです。
こういった情報を提供して頂いて、大変嬉しく思っております。
解決済み
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-