Linq よく使用する型

C# GetMethodメソッドでContainsメソッドを上手く取得できない場合の対処方法。 System.Reflection.AmbiguousMatchExceptionの対処方法

今回のテーマ

こんばんは、かっぱちゃんです!!

ココがポイント

今回のテーマはGetMethodメソッドを使用して、Containsメソッドが上手く取得できない場合の対処方法です。

今回は私もハマった忘備録でもあるので、短いです!

では、早速みていきましょう!!

サルモリ
今回はGetMethodメソッドについてかっぱ!

GetMethodメソッドの使い方

GetMethodメソッドを使用すると、指定したメソッドを取得することが出来ます。

可変のラムダ式を作る時に役に立つんですよね。後日記事にしたいと思います。

下記はGetMethodでstring型のメソッド「ToLower」メソッドを取得した時の例です。

 出力結果
ToLower

何も面白くないソースコード結果ですみません 😥 

これを同じようにString型のContainsメソッドを取得してみます。

同じようにString型のContainsメソッドを取得してみる

Containsメソッドを取得してみましょう。何も考えずに同じように指定すると・・・

 出力結果
System.NullReferenceException

Nullとなりました。

この理由はToLowerメソッドは引数が無いのに対して、Containsはstring型を引数として指定しなければならないからです!

例としては下記のようなイメージですね!!

因みに第2引数を指定しないと、下記のエラーが出てしまいます。

System.Reflection.AmbiguousMatchException

これは、Containsメソッドには、char型とstring型を引数として指定出来るので、どちらを取得すればいいのか分からないよ!ということです。

なので、引数がどの型なのか具体的に指定してあげましょう!指定方法は下記のソースコードです!

この指定方法が分かるまで本当に時間がかかった・・・。汗

 command
Contains
Contains

無事に指定できましたね^^

まとめ

今回の記事は色々調べても情報が全然なかったので、私の忘備録としても記事とさせて頂きました。

この記事の流れで可変のラムダ式についても触れていけたらなと思います!!

今回の記事がお役にたてたなら光栄です!!

是非、他の記事も役に立つと思うので、みてください!!!

サルモリ
最後までみてくれてありがとうかっぱ!

 

C#のLinqをさらに学びたい方へ

C#のLinqを理解して頂くために参考書を執筆致しました!

Linqの演習問題はこちらの参考書に載せているので、問題を解いて理解を深めたい方はこちらの参考書チェックしてください!

下記の画像をクリック!!kindleunlimitedの会員であれば無料で見れます!

⇩初心者向け      ⇩中級者向け

新作本出しました!C#でChatGPTAPIを使ってブログ作成を自動化しませんか?

C#を学ぶならガチで読んで欲しい本はこちら


新しいサイト作りました。アニメのまとめサイトです。

レインボーリアルタイムTwitter(アニメ版)


映画ドキュメンタリ版のブログはこちら
レインボーまとめサイト(映画ドキュメンタリー版)
ポケモンまとめブログはこちら
レインボーまとめサイト(ポケモン版)

-Linq, よく使用する型

Ads Blocker Image Powered by Code Help Pro

広告ブロックを検出しました。

ブラウザの広告機能を使用して広告をブロックしていることが検出されました。
ブラウザの広告ブロッカーを無効にし、「更新」をクリックしてください。

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock