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

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

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

C#におけるメソッドグループ

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

■89245 / inTopicNo.1)  C#におけるメソッドグループ
  
□投稿者/ 34 (4回)-(2018/11/13(Tue) 13:27:34)

分類:[C#] 

2018/11/13(Tue) 13:37:09 編集(投稿者)

現在、VB.NETのコードをC#に移植する作業を続けているプログラミング初心者です。
VB.NETではint型で定義したプロシージャに整数を代入する事が出来ているのですが、C#では「メソッドグループである為、これに割り当てる事が出来ない。」とエラーが出てしまいます。

C#のコード。//☆がついてる所でこのエラーが出てしまいます。
https://i.imgur.com/BbyGikl.jpg
VB.NETのコード。
https://i.imgur.com/3oEr4lz.jpg

どうすれば解決出来るのでしょうか。宜しくお願いします。
引用返信 編集キー/
■89246 / inTopicNo.2)  Re[1]: C#におけるメソッドグループ
□投稿者/ Hongliang (720回)-(2018/11/13(Tue) 13:37:24)
C#では、返値は
return XXX;
の形で返します。

メソッド名 = XXX;
という記法は使用できません。

メソッドから返るまでに一時変数として使用する場合はローカル変数を使用してください。
引用返信 編集キー/
■89247 / inTopicNo.3)  Re[1]: C#におけるメソッドグループ
□投稿者/ 魔界の仮面弁士 (1929回)-(2018/11/13(Tue) 13:42:35)
No89245 (34 さん) に返信
> VB.NETではint型で定義したプロシージャに整数を代入する事が出来ているのですが、

VB.NET において、
 Public Funtion InstrEx(ss2 As String, ss1 As String) As Integer
  InstrEx = 0
 End Function
のことを
 Public Funtion InstrEx(ss2 As String, ss1 As String) As Integer
  Return 0
 End Function
と書きますよね。

それと同様に、
 public int InstrEx(string ss2, string ss1)
 {
  return 0;
 }
と記述します。


> C#では「メソッドグループである為、これに割り当てる事が出来ない。」とエラーが出てしまいます。

int returnValue = this.InstrEx("ABC", "xy"); // メソッドを呼び出して int 変数に代入

Func<string, string, int> method = this.InstrEx; // 引数指定の丸括弧が無いと、メソッドグループとして扱われる

int result = method("ABC", "xy"); // デリゲートインスタンスからのメソッド呼び出し
引用返信 編集キー/
■89279 / inTopicNo.4)  Re[2]: C#におけるメソッドグループ
□投稿者/ 34 (5回)-(2018/11/15(Thu) 12:51:09)
みなさま、ご回答ありがとうございました。
助かりました。

No89246 (Hongliang さん) に返信
> C#では、返値は
> return XXX;
> の形で返します。
>
> メソッド名 = XXX;
> という記法は使用できません。
>
> メソッドから返るまでに一時変数として使用する場合はローカル変数を使用してください。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


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

このトピックに書きこむ