C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: デリゲートについて


(過去ログ 19 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■7522 / inTopicNo.1)  デリゲートについて
  
□投稿者/ タイマ苦労 (1回)-(2007/09/07(Fri) 14:08:43)

分類:[C#] 

教えてください。

スレッドタイマを使用しています。

@タイマコールバックを使用して、一定間隔で行うメソッド(GGG)を作成しました。
TimerCallback TimeBETWEEN = new TimerCallback(GGG))
※GGGは返却値があります。

Aインスタンスを生成しました。
timer ABG = new Timer(TimeBETWEEN,null,0,1000)

このGGGの返却値を取得して、正常ならABGのタイマをストップさせたいのですが、
このようにした場合、GGGのメソッドでの返却値を受け取ることはできるのでしょうか?

よろしくお願いいたします。


引用返信 編集キー/
■7525 / inTopicNo.2)  Re[1]: デリゲートについて
□投稿者/ 囚人 (159回)-(2007/09/07(Fri) 14:12:46)
定義は
public delegate void TimerCallback (Object state)
ですから、GGG として戻り値のあるメソッドを指定できませんよね?
そもそもコンパイルができないのでは?


引用返信 編集キー/
■7531 / inTopicNo.3)  Re[2]: デリゲートについて
□投稿者/ タイマ苦労 (3回)-(2007/09/07(Fri) 14:38:41)
No7525 (囚人 さん) に返信
> 定義は
> public delegate void TimerCallback (Object state)
> ですから、GGG として戻り値のあるメソッドを指定できませんよね?
> そもそもコンパイルができないのでは?

ビルドできないので、返却値なしならビルドとおりました。

返却値がほしい場合、delegatge以外でやらなければならないのでしょうか?

また、他のやり方があればご教授願いたいのですが。

もうひとつの疑問としては、
一定間隔で動かしている場合、その途中でその処理(ggg)の処理が終わったかどうかを
確認したいのですが、どうすればよいでしょうか?

引用返信 編集キー/
■7533 / inTopicNo.4)  Re[3]: デリゲートについて
□投稿者/ 囚人 (160回)-(2007/09/07(Fri) 14:54:49)
Timer で動かしておいて戻り値が欲しいというシナリオが良く分かりませんが(戻り値が欲しいなら普通にメソッドを呼べば良い)、グローバル変数に結果を書き込めば良いのでは?

>もうひとつの疑問としては、
>一定間隔で動かしている場合、その途中でその処理(ggg)の処理が終わったかどうかを
>確認したいのですが、どうすればよいでしょうか?

モロに MSDN にサンプルがありますよ。
http://msdn2.microsoft.com/ja-jp/library/system.threading.timercallback(VS.80).aspx

引用返信 編集キー/
■7554 / inTopicNo.5)  Re[4]: デリゲートについて
□投稿者/ タイマ苦労 (4回)-(2007/09/07(Fri) 19:55:49)
No7533 (囚人 さん) に返信

極力グローバルに持つことは出来ないようにしていたのですが、今回は
グローバルを使うことにしました。

ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -