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

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

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

Re[5]: c#の匿名メソッドをVBに置き換えるには・・・


(過去ログ 39 を表示中)

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

■20086 / inTopicNo.1)  c#の匿名メソッドをVBに置き換えるには・・・
  
□投稿者/ jiioi (18回)-(2008/06/05(Thu) 14:27:46)

分類:[.NET 全般] 

何度も教えていただいているjiioiです。
わかったつもりになっていたのですが、どうしても分からないので教えていただけ無いでしょか?
その一は、インスタンスに渡している?
その二は、コールバックデリゲートに渡している?


C#:その一
		/// <summary>凡例要素の配列を返します。</summary>
		/// <returns>凡例要素の配列</returns>
		public override
		TLegendItem[]  GetLegendItems() {
			TLegendItem  item  = new TLegendItem( delegate( Graphics  g, RectangleF  rect ) {
							float  dx = rect.Width  / 2f;
							float  dy = rect.Height / 2f;
							
							// 線を描画する
							g.DrawLine( _pen, rect.Left, rect.Top + dy, rect.Right, rect.Top + dy );
							// マークを描画する
							_mark.Draw( g, new Point((int)(rect.Left + dx), (int)(rect.Top + dy)) );
						}, _title );
			return  new TLegendItem[] { item };
		}


C#:その2

		Region  clipBak = g.Clip;
			g.Clip = (_ticks.Direction == eTickDirection.Inside)  ?  _plotArea.GetClippingRegion() : _plotArea.GetOuterRegion();
			{
				TAxisAbstract.DTraceAxisLineCallback  callback =
								delegate( double  interval, double  value, Point  point, bool  isFirst, bool  isLast ) {
									if( isFirst  &&  _isSuppressFirst ) return  true;
									if( isLast   &&  _isSuppressLast  ) return  true;
									
									g.DrawLine( _pen, point.X + bx, point.Y + by, point.X + bx + dx, point.Y + by + dy );
									return  true;
								};
				_axis.TraceAxisLineCallback( _interval, callback );
			}
			g.Clip = clipBak;
		}


引用返信 編集キー/
■20088 / inTopicNo.2)  Re[1]: c#の匿名メソッドをVBに置き換えるには・・・
□投稿者/ επιστημη (1057回)-(2008/06/05(Thu) 14:49:38)
επιστημη さんの Web サイト
> その一は、インスタンスに渡している?

コンストラクタの引数としてdelegateを渡しています。

> その二は、コールバックデリゲートに渡している?

メソッドの引数としてdelegateを渡しています。

引用返信 編集キー/
■20090 / inTopicNo.3)  Re[2]: c#の匿名メソッドをVBに置き換えるには・・・
□投稿者/ jiioi (20回)-(2008/06/05(Thu) 15:06:53)
No20088 (επιστημη さん) に返信
>>その一は、インスタンスに渡している?
> 
> コンストラクタの引数としてdelegateを渡しています。
> 
>>その二は、コールバックデリゲートに渡している?
> 
> メソッドの引数としてdelegateを渡しています。
> 

ありがとうございます。
そうなのですね。
そのdelegateにも引数があり、その引数はどこにも存在しない?
VBに置き換えるには、どうしたらいいか頭を悩ませております。
以前、コードを示していただき、分かったつもりになっていたのですが・・・

引用返信 編集キー/
■20111 / inTopicNo.4)  Re[3]: c#の匿名メソッドをVBに置き換えるには・・・
□投稿者/ Azulean (140回)-(2008/06/05(Thu) 22:44:00)
> そのdelegateにも引数があり、その引数はどこにも存在しない?
> VBに置き換えるには、どうしたらいいか頭を悩ませております。
> 以前、コードを示していただき、分かったつもりになっていたのですが・・・
答えが欲しいんですか?やり方を学びたいんですか?

とりあえず、一気にVB.NETに持って行くのではなく、C#でまず関数として独立させましょう。
匿名メソッドから独立させることで、どの変数が必要なのかが分かりやすいかと思います。

それが済んだ段階で、VB.NETに持って行けば難なく進むはずです。
引用返信 編集キー/
■20119 / inTopicNo.5)  Re[4]: c#の匿名メソッドをVBに置き換えるには・・・
□投稿者/ jiioi (21回)-(2008/06/06(Fri) 09:40:51)
No20111 (Azulean さん) に返信
>>そのdelegateにも引数があり、その引数はどこにも存在しない?
>>VBに置き換えるには、どうしたらいいか頭を悩ませております。
>>以前、コードを示していただき、分かったつもりになっていたのですが・・・
> 答えが欲しいんですか?やり方を学びたいんですか?
>
> とりあえず、一気にVB.NETに持って行くのではなく、C#でまず関数として独立させましょう。
> 匿名メソッドから独立させることで、どの変数が必要なのかが分かりやすいかと思います。
>
> それが済んだ段階で、VB.NETに持って行けば難なく進むはずです。

やり方を学びたいと思っています。
このところずっと考えていまして、どうしてもわからず答えを求めてしまっていました。
今までVB6でモジュールしか使っていませんでした。
クラスとかOOPを勉強中です。
その概念は難しく、しかしとても面白いと感じてます。
これからも低レベルな質問をすると思いますが、もう少し煮詰めてから質問をしますので、
よろしくお願いします。


>> そのdelegateにも引数があり、その引数はどこにも存在しない?
以前、教えていただいた答えをもう一度よく考えまして、キャストしているということがわかりました。
delegateについてだいぶ理解できたと思います。どうもありがとうございました。


引用返信 編集キー/
■20120 / inTopicNo.6)  Re[5]: c#の匿名メソッドをVBに置き換えるには・・・
□投稿者/ jiioi (22回)-(2008/06/06(Fri) 09:51:05)
解決済み
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -