Linq よく使用する型

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

ぜひこちらの記事もご覧ください!!
転職回数4回(独立系⇒メーカー系⇒社内SE⇒SES)の私がSESのメリットについて書きました!

SESで働いている私の年収と働き方

今回のテーマ

こんばんは、サルモリです!!

ココがポイント

今回のテーマは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

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

まとめ

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

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

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

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

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

 

ぜひこちらの記事もご覧ください!!
転職回数4回(独立系⇒メーカー系⇒社内SE⇒SES)の私がSESのメリットについて書きました!

SESで働いている私の年収と働き方

私は下記のサイトで現在の働き方、フルリモート(週5)の企業に出会うことができました。

今でもとても感謝しています!カウンセリングは無料なので、ぜひどうぞ!

 

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

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

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

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

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

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

-Linq, よく使用する型

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock