C#のLinqのメソッド一覧 よく使用する型

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

ChatGPTのAPIを使わずに自動化することが可能です。
下記の本を読めば、ChatGPT4でも料金掛からずに自動化できます!KindleUnlimited会員であれば無料で読めます。

今回のテーマ

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

ココがポイント

今回のテーマは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のメソッド一覧, よく使用する型

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